0

Emgu.CV.OCRサンプルプロジェクトにはTesseract、Tesseract-OCRエンジンのラッパーであるクラスがあります。Tesseract.csには、次のような宣言があります。

[DllImport(CvInvoke.EXTERN_LIBRARY, CallingConvention = CvInvoke.CvCallingConvention)]
private static extern IntPtr TessBaseAPICreate();

CvInvoke.EXTERN_LIBRARYはcvextern.dllを指します。

DependencyWalkerでcvextern.dllを開きましたが、Tesseract関数はどこにもなく、OpenCV関数のみです。

明らかな何かが欠けていると確信していますが、ここで使用されている実際の関数定義はどこにありますか?

4

1 に答える 1

2

cvextern.dllDependencyWalkerを開いてCVEXTERN.DLL左側のペインをクリックすると、リストにTesseract関数が表示されます。そのリストのほとんどを下にスクロールする必要がありますが、私は見つけることができました:

TessBaseAPICreate
TessBaseAPIExtractResult
TessBaseAPIGetUTF8Text
TessBaseAPIInit
TessBaseAPIRecognizeImage
TessBaseAPIRelease
TessBaseAPISetVariable

さらに証明するために、Emguのソースをダウンロードし(手順はこちら)、Tesseractライブラリは\ Emgu.CV.Extern\tesseractに含まれていました。

上記のメソッドの実装は、\ Emgu.CV.Extern \ tesseract\tesseract.cppにあります。基本的に、EmguTesseractから継承するクラスを使用しtesseract::TessBaseAPIます。

于 2012-11-21T08:00:42.860 に答える