0

以下は、TessNet の OCR ツールを使用してフォルダー内の各ビットマップをスキャンし、OCR 情報を .csv に処理するコードですList<tessnet2.Word> result。しかし、私は foreach を正しく動作させることができないようです。次のエラーが表示されますforeach statement cannot operate on variables of type 'System.IO.DirectoryInfo' because 'System.IO.DirectoryInfo' does not contain a public definition for 'GetEnumerator'

     DirectoryInfo diBMP = new DirectoryInfo("c:\\temp\\bmps");

                            foreach (Bitmap bmp in diBMP)
                            {                                         
                              using (tessnet2.Tesseract tessocr = new tessnet2.Tesseract())
                                    {                                        

                                        tessocr.Init(@"C:\Users\Matt Taylor\Documents\Visual Studio 2012\Projects\TessNet2\TessNet2\bin\Debug\tessdata", "eng", false);

                                        tessocr.GetThresholdedImage(bmp, System.Drawing.Rectangle.Empty).Save("c:\\temp\\" + Guid.NewGuid().ToString() + ".bmp");


                                        Console.WriteLine("Normal version");
                                        List<tessnet2.Word> result = ocr.DoOCRNormal(bmp, "eng");

                                        CheckANDCorrectPDForientation(result, pdfFiles);                                                                             
                                    }                                    
                            }
4

1 に答える 1

4

欲しいらしい

foreach(string s in Directory.EnumerateFiles(dir, "*.bmp"))
{
    using(Bitmap bmp = new Bitmap(s))
    {
      //code here
     }
 }

あなたのエラーは、 foreach ループにはループするものが必要でありDirectoryInfo、ディレクトリに関する情報を提供するだけだからです

于 2013-07-29T17:56:17.383 に答える