2011-07-26 2 views
4

.jpg 이미지의 OCR을 수행해야합니다. 나는 많은 것을 수색하고 마침내 "tessnet2"를 얻는다. 코드는 매우 간단 해 보이지만 예제에 문제가 있습니다. ltessnet 초기화 문제

ocr을 초기화하려고하면 응용 프로그램이 종료되고 아무 것도 반환하지 않습니다. 디버깅은 다음 줄과 같습니다 :

ocr.Init("C:\\Desarrollo\\Prueba\\ConsoleApplication1\\tessdata", "spa", false); 

첫 번째 매개 변수는 "tessdata"가 포함 된 경로가 아닌가요? 두 번째 경로는 내가 사용하고자하는 lenguage입니다 ...

tessdata 내가 필요로하는 8 파일이 있습니다.

무엇이 잘못 되었나요?

나는 C# 및 Visual Studio 2010을 사용하고 있습니다. 컴파일하려고하면 .net 프레임 워크의 오류가 발생합니다 (4.0을 사용하고 있었고 2.0이 필요합니다. 이제는 줄어들지 만 컴파일은되지만 문제가 발생합니다).

감사합니다.

+0

언어 데이터 정의를 tessdata 디렉토리에 다운로드 했습니까? – Reniuz

+0

@Reniuz 예, 스페인어로 된 8 개의 파일이 있습니다 – FrioneL

+0

종료하기 전에 오류가 표시되지 않습니까? – Reniuz

답변

9

동일한 문제가 발생했지만 Tesseract 3.0 (2.0 제외) 용 언어 파일을 사용하고있는 것으로 나타났습니다. 2.0 용 파일을 넣으면 작동했습니다.

2.0 SDK를 사용하고있는 것 같기 때문에 2.0 (http://code.google.com/p/tesseract-ocr/downloads/list)의 언어 파일을 다운로드하십시오. 상단의 파일은 3.0 용입니다. 목록 맨 아래로 스크롤하십시오.

+0

답변 해 주셔서 감사합니다.하지만 이미 수정했습니다. 내 문제는 레지스트리 때문이었습니다. tesseract 3.0을 설치 한 후에 몇 가지 문제가있는 것 같습니다 ...하지만 레지스트리 클리너 프로그램을 사용하면 효과가 있습니다! – FrioneL

1

도 동일한 문제가 발생했습니다. tessnet2.Tesseract ocr = new tessnet2.Tesseract(); ocr.Init (@ "E : \ QAliber \ qaliber-code-133 \ QAliber Engine \ OCR \"+ "tessdata \", "eng", false);

은 Init() 메소드에서 실패했습니다. 나에게 어떤 오류도 발생시키지 않았지만 종료 코드 1을 사용하여 실행이 종료되었습니다. 문제를 해결하기 위해 올바른 버전 (2.0 for)에서 eng 언어 파일을 다운로드하고 찾은 레지스트리의 모든 키를 삭제했습니다 핵심 단어 "tesseract". 그런 다음 컴퓨터를 재부팅했습니다. 이제 프로그램이 성공적으로 실행됩니다. 유일한 문제는 적절한 결과를 얻지 못한다는 것입니다 (높이가 음수 임). 나는 그것을 살펴볼 것이다. 그러나 적어도 내 프로그램이 실행되면 행복합니다.

+0

나는 내 버전의 tessnet2를 실행하는 데 어려움을 겪고있다. 샘플 응용 프로그램 솔루션이나 사용중인 언어 파일과 DLL의 위치와 정확한 이름을 알려주시겠습니까? – Sandy

0

내 코드가 다른 컴퓨터에서는 잘 작동하지만 한 컴퓨터에서는 작동하지 않습니다. VS2010 및 프레임 워크 3.5를 사용하고 있습니다. 제어 코드는 아래 코드에서 자동으로 출력됩니다.

ocr.Init (@ "D : \ path", "eng", false);

여기서 ocr은 Tesseract()의 인스턴스입니다.