OCR을 사용하여 이미지의 일부 텍스트를 가져 오려고합니다. 내가 그에 대한 정팔 포체를 초기화해야하고 이것이 나의 시도했다 : Tesseract 초기화
Imports Emgu.CV
Imports Emgu.Util
Imports Emgu.CV.Structure
Imports Emgu.CV.OCR
Imports Emgu.CV.UI
Imports Emgu.CV.CvEnum
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim lolProcess() As Process = Process.GetProcessesByName("lolClient")
Dim snap As New CScreenFromWindow
Dim OCRz As Tesseract = New Tesseract("tessdata", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_ONLY)
OCRz.Recognize(New Image(Of Bgr, Byte)(snap.GetFromAll(lolProcess(0))))
MsgBox(OCRz.GetText())
End Sub
End Class
나는 다음과 같은 오류가 내 코드를 실행 : "System.TypeInitializationException" "Emgu.CV.OCR.Tesseract"는 예외를 발생
나는 많이 봤지만 내 실수는 찾을 수 없습니다. EMGU를 this link에서 다운로드하고 .exe를 설치했습니다. 그런 다음 bin 디렉토리의 모든 .dll을 프로젝트에 대한 참조로 추가했습니다. 또한 모든 프로젝트에 opencv_XXXXX.dll 파일을 추가했습니다. 그런 다음 프로젝트에 tessdata-directory도 추가했습니다. 추가 된 모든 dll을 "항상 출력 디렉토리에 복사"로 표시했습니다.
x86 및 x64 용 opencv_XXXXXX.dll 파일이 있습니다. x64로 바꾸려고했으나 작동하지 않습니다.
내 실수를 본 사람이 있습니까?
System.ArgumentException: Unable to create ocr model using Path tessdata and language eng.
bei Emgu.CV.OCR.Tesseract.Init(String dataPath, String language, OcrEngineMode mode) in c:\Emgu\emgucv-windows-universal-gpu 2.4.9.1847\Emgu.CV.OCR\Tesseract.cs:Zeile 226.
bei Emgu.CV.OCR.Tesseract..ctor(String dataPath, String language, OcrEngineMode mode) in c:\Emgu\emgucv-windows-universal-gpu 2.4.9.1847\Emgu.CV.OCR\Tesseract.cs:Zeile 118.
bei Dodgemaster.Form1.Button1_Click(Object sender, EventArgs e) in X:\Dokumente\Visual Studio 2013\Projects\Dodgemaster\Dodgemaster\Form1.vb:Zeile 16.
헬로 월드 테스트 programm에 잘 작동 :
이
는 오류 메시지와 스택 트레이스 있습니다. 그래서 참조가 잘못된 것은 아닙니다. 맞습니까?
당신이 등 스택 추적 ++ 모든 내부 예외의 – tolanj