OCR : 정확도를 향상시키는 방법 - 텍스트가 아닌 '가구', 모양 등을 제거하기위한 기존 라이브러리는 OCR을 혼동하지 않도록하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2448106

문제

스크린 샷 이미지에서 텍스트를 동봉하는 사각형 등을 제거하고 스크린 샷에서 정확한 텍스트를 얻기 위해 광학 문자 인식을 수행 할 수 있도록합니다.

배경:

다른 응용 프로그램과 함께 사용하기 위해 레거시 응용 프로그램에서 데이터를 추출하기 위해이 작업을 수행합니다. 이것은 관련 파일이 닫히고 독점적 인 이진 형식으로 이루어 지므로이 데이터를 얻는 유일한 방법입니다.

Autoitscript를 사용하여 응용 프로그램을 구동하여 UI에 데이터를 표시 할 예정입니다. 그런 다음 스크린 샷을 찍어 TesserAct에 공급합니다.

나는 이미 가지고 있었다 약간 UI를 자동화하는 데 성공했으며 TesserAct를 사용하여 비트 맵에서 일반 ASCII 텍스트를 얻을 수있었습니다.

TesserAct/OCR과의 사용에 대해 논의하는 Autoitscripr 포럼 기사가 몇 가지 있지만 내 질문에는 구체적으로는 그렇지 않습니다.http://www.autoitscript.com/forum/index.php?s=6c32c3ece12756e635a619cdf175eff9&showforum=2

내가해야 할 일

텍스트를 밀접하게 둘러싸는 얇고 1 픽셀 너비의 직사각형이 있으며, TesserAct에 공급 될 때 예를 들어 사각형의 언어선에 대해서는 볼 수 있습니다.

사각형 또는 모범 사례를 제거하는 방법에 대한 생각이 있습니까?

예를 들어 .png 파일에 직사각형을 덮어 쓰는 일반 명령 줄 기반 도구 세트가 있는지 묻습니다. 그런 다음 .png를 통과 한 다음 TesserAct로 전달할 수 있습니다.

내가 사용한 TesserAct 릴리스/설정에 대한 자세한 내용은 다음과 같습니다.

여기로 이동 : http://code.google.com/p/tesseract-ocroc/downloads/list- 기본 영어 제네릭 캐릭터 세트가 TesserAct를 작동시키고 실행하고 ASCII 텍스트로 비트 텍스트를 인식하려면 TesserAct-2.00.eng.tar.gz를 사용하십시오 (글쓰기시 현재 버전은 다음과 같습니다. 및 UP) 2007 년 7 월 989 KB 84845 ")

스택 오버플로에서 이미 살펴본 관련 질문

이로 인해 내 질문은 완전히 답변되지 않거나 상업용 솔루션이 판매되고 있습니다. 이 단계에서 상업용 솔루션을 고려하고 싶지 않습니다.

도움이 되었습니까?

해결책

이를 위해 선반 솔루션이 없을 것입니다. 그러나 직사각형이 글꼴의 알파벳에 유효한 문자가 아니라고 가정하는 것이 안전하기 때문에 자신의 코딩하는 것이 너무 어렵지 않아야합니다. . 또한 모든 직사각형 테두리가 정확히 하나의 픽셀 폭이 돕습니다.

따라서 정확히 두 개의 수직선으로 동일한 길이의 다른 평행선으로 결합 된 연속 수평선을 검색하십시오. 이미지에서 모든 사각형을 찾을 때까지 검색을 반복 한 다음 모두 투명하게 렌더링하십시오. Graphics.DrawRectangle 그리고 Pens.transparent. 검색을 마치기 전까지는 사각형을 투명하게 렌더링하지 마십시오. 당신은 당신이 그들을 찾기 전에 겹친 사각형의 일부를 닦을 위험이 있습니다. 이것은 단지 스타터 제안 일뿐입니다. 저는이 알고리즘을 구현하거나 디버깅하지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top