2011-09-24 4 views
14

저는 컴퓨터 비전에 초보자입니다. 그러나 opencv에서 일부 기능을 사용하는 방법을 알고 있습니다. 나는 Opencv for Document Recognition을 사용하려고 노력하고있다. 나는 그것을위한 단계를 찾을 수있는 도움을 원한다.OCR에서 문서 인식을 위해 Opencv를 사용하는 방법은 무엇입니까?

opencv 예제 find_obj.cpp를 사용하려고 합니다만, 여권과 같은 문서에는 변수, 이름, 생년월일, 그림이 있습니다. 그래서, 단계를 정의하기위한 도움이 필요합니다. 가능한 경우 단계에서 기능을 사용해야합니다.

전체 코드를 묻는 것은 아니지만 누구나 예제 링크가 있거나 둘러보기를 입력하면 큰 도움이됩니다.

답변

24

두 가지 매우 다른 단계가 있습니다. 하나는 개체를 감지하고 다른 하나는 개체를 분석합니다.

개체 검색의 경우 개체가 프레임에 있는지, 대략 개체의 위치를 ​​파악하려고하는 것입니다. OpenCv 기능 프레임 워크는 이에 적합합니다. 일부 자습서와 포괄적 인 샘플 코드는 OpenCv features2d 자습서 및 특히 feature matching tutorial을 참조하십시오.

분석을 위해 광학 문자 인식 (OCR)을 파헤쳐 야합니다. OpenCv에는 OCR 라이브러리가 포함되어 있지 않지만 위대한 OCR 라이브러리 인 tesseract-ocr을 확인하는 것이 좋습니다. 문서에 고정 구조화 (텍스트 필드의 일관된 레이아웃)가 있으면 tesseract-ocr 만 있으면됩니다. 고급 분석을 위해 tesseract-ocr을 사용하지만 레이아웃 분석을 추가하는 ocropus을 확인하십시오.

+0

저는이 솔루션을 시도합니다. 그러나 현실 세계에서 성공하지 못했다면, 템플릿 계산에서 같은 해상도의 이미지 만 사용해야한다고 생각합니다. 안 그래요? – Ricardo

+1

실제 예와 관련하여 문제가있는 경우 사용중인 특정 글꼴에 대해 tesseract-ocr을 조정해야 할 수도 있습니다. 그렇지 않으면 기본 데이터베이스가 사용 중이며 작업중인 텍스트와 일치하지 않을 수 있습니다. tesseract-ocr에 피드하기 전에 텍스트 크기를 조정 해보십시오. 높이가 약 20 픽셀 인 것으로 나타났습니다. –

+0

tesseract를 훈련시키는 방법에 대한 링크가 있습니까? 좋은 결과를 얻는데 어려움을 겪고 있으며 훈련 방법에 대한 이해할 수있는 좋은 안내서를 찾을 수 없습니다. – Tjorriemorrie

관련 문제