2014-04-14 3 views
0

OMR 엔진에서 작업하고 있습니다. 스캔 한 페이지는 네 모서리입니다 (왼쪽 상단 모서리가 잘리고 붙어 있습니다). 나는 그것을 빨간 선으로 윤곽을 그렸다. 그래서 OMR 영역을 감지하기 위해 스캔 한 페이지의 모서리 (빨간색 윤곽선으로 표시된 모양)를 감지해야합니다. OpenCV/JavaCV로하고 싶지만 OpenCV에서 새로 왔습니다. 윤곽선 탐지 및 근사, Hought Transform을 사용한 선 검출과 같은 솔루션을 찾았지만 내 문제를 해결하는 방법을 잘 이해하지 못합니다. 도와주세요. 줄의 두께는 약 19px이고 길이는 약 250px입니다.OpenCV로 모양 검출

image from scanner

답변

2

이 접근하는 방법은 여러 가지가 있습니다. 내 생각에 당신이 찾고있는 것은 template matching과 비슷합니다. 각 이미지에서 찾고있는 것을 알고 있기 때문입니다. OpenCV는 표준 template matching을 구현했습니다.

그렇지만 괜찮은 시작을 제공 할 수 있지만 모든 종류의 스캔 문서를 처리 할만큼 강력하지는 않습니다. 최첨단 물체 인식 알고리즘에 대해 research을 수행하는 것이 좋습니다. 이들은 매우 독점적 인 경향이 있으므로이 주제에 대한 많은 상세 정보를 찾기가 어렵다면 놀라지 마십시오.

+0

페이지의 크기가 약간 (원본보다 작음) 또는 회전 (0.03도 - 1도) 될 수 있습니다. 이 경우 템플릿 일치가 작동합니까? – Mihai

+0

모양이 페이지의 다른 모든 항목과 뚜렷이 다르다면 잘해야합니다. 크기 조정이 문제 일 수 있지만 모든 것이 축소 될 것이라는 것을 다시 알게되면 템플릿 크기를 조절할 수 있습니다. –

1

이미지가 같은 크기의 전부 또는 특정 거리에서, 즉, 일정한 방법으로 캡처 한 경우에, 나는 다음과 같이 도움이 될 생각 :

  1. 이의 왼쪽 상단에 관심의 투자 수익 (지역 지정
  2. 를 사용하여 라인 호우가 intersec 찾기
  3. 변환 이미지)
  4. 노이즈 제거는 (당신은가는 선을 제거하는
  5. 순서대로 이미지에 침식을 수행) 특정 SE 크기 침식을 사용할 수 있습니다 줄의 모양

그 후 당신은 당신의 모양의 코너가 있습니다.