문제

책의 사진 인 55,000 개의 이미지 파일 (JPG 및 TIFF 형식 모두)이 있습니다.

각 페이지의 구조는 다음과 같습니다.

일부 텍스트

--- (수평선) ---

숫자

일부 텍스트

--- (수평선) ---

또 다른 번호

일부 텍스트

주어진 페이지에는 0에서 4 수평선이있을 수 있습니다.

수평선 바로 아래에서 숫자가 무엇인지 찾아야합니다.

그러나 숫자는 한 페이지에서 한 페이지에서 시작하여 서로 엄격하게 따라 가므로 숫자를 찾기 위해 읽을 필요가 없습니다. 수평선의 존재를 감지 할 수 있습니다. 숫자를 감지하기 위해 페이지를 OCR로 시도합니다.

알고리즘은 기본적으로 다음과 같습니다.

for each image
  count horizontal lines
  print image name, number of horizontal lines
  next image

문제는 : "수평선 수"부분을 수행하는 가장 좋은 이미지 라이브러리/언어는 무엇입니까?

도움이 되었습니까?

해결책

아마도 라인을 감지하는 가장 쉬운 방법은 허프 변환 안에 Opencv (많은 언어를위한 포장지가 있습니다).

OpenCV Hough Tranform은 이미지의 모든 줄을 감지하고 각도를 반환하고 좌표를 시작/중지합니다. 각도가 수평에 가깝고 길이가 적절한 사람 만 유지해야합니다.

오라일리의 학습 opencv 함수의 입력 및 출력에 대해 자세히 설명합니다 (p.156).

다른 팁

대비가 양호한 경우 연결된 구성 요소를 실행하고 결과를 분석하십시오. 그것은 당신의 구조화 된 요소가 약간 구부러 지거나 라인 알고리즘이 당신이 원하지 않는 줄을 픽업 할 때, 허프를 통해 선을 찾는 대안이 될 수 있습니다.

연결된 구성 요소는 매우 빠른 2 개의 래스터 스캔 알고리즘이며 다른 라벨이 표시되어 있고 설명 된 모든 연결된 요소가있는 마스크를 제공합니다. 간단한 것을 버릴 수 있습니다 (종횡비 측면에서). 전반적으로, 이것은 더 일반적이고 빠르지 만 Hough Transform을 실행하는 것보다 조금 더 관여 할 수 있습니다. 반면에 허프 변형은 대비 인공물과 우발적 인 틈새에 더 견딜 수 있습니다. OpenCV에는 구성 요소를 찾는 기능이 있습니다.

시도하고 싶을 수도 있습니다 John 'Resig's JavaScript의 OCR 및 신경 그물

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