2014-11-01 3 views
1

이진 이미지에서 단어의 경계 상자 또는 단어 쌍을 찾는 방법을 찾고 싶습니다. 이미지 자체는 다음과 같습니다. (필요한 경계 상자는 파란색 직사각형으로 표시됩니다.)이진 이미지에서 단어 찾기

enter image description here

이미지는 다른 개체 무료입니다. 하나의 문자를 먼저 감지 한 다음 인접한 문자가 연결되는 방식으로 다른 Mat 객체에 경계 상자를 "그리는"같은 연결 구성 요소 분석의 일부 양식에 대해 생각하고 있습니다. 유용한 정보가 있습니다. 단어 또는 한 쌍의 단어가 수평선을 이루며 "안녕하세요"와 "abcdf"를 구분하는 데 사용할 수있는 정보입니다. - 어떻게 해야할지 모르겠다. 해.

+0

tesseract와 같은 OCR 라이브러리는 어떻습니까? – Micka

+0

경계 상자, 텍스트 위치가 아닌 정확한 텍스트 위치에 관심이 있습니다. – user4205580

+0

확인. 나는 경계 윤곽에 다른 윤곽선을 추가 할 것인지 아닌지에 대해 단일 윤곽 및 간단한 경험적 방법으로 시작할 것입니다. 아마 내일 구현을 테스트 할 시간을 찾을 것입니다. – Micka

답변

2
  1. 윤곽선 이미지.
  2. 적합한 영역과 너비/높이를 가진 등고선을 문자로 선택 - 중심의 중심을 얻습니다.
  3. 센터 목록에서 간격이 아닌 인접한 문자 이 얼마나 멀리 떨어져 있는지 2 가지 센터를 결정할 수 있습니다.
  4. 그룹이 윤곽 자신의 경계 상자 단어에와 가지고

을 OpenCV가 클러스터링, 윤곽 영역과 자신에게 그것을

+0

+1 그게 내가하는 방법이야. – karlphillip

+0

@karlphilip 나는 이것이 hw 질문이라고 가정했다. 그렇지 않으면 대답은 - tesseract를 사용한다. 당신에게서 듣기 좋게, 나는 몇 달 동안 직장에서 현저하게 바빴습니다. 그래서 많이 게시하지 않았습니다. –

2
  1. 마 OX-을하지 않으려면 상자 funcs 경계 창 크기 N을 사용하여 확장합니다. N은 대략 너비가 1..2 인 문자 너비입니다. 그러면 검은 색으로 채워진 "상자"가 생깁니다.
  2. 등고선을 찾으십시오 (http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html 참조).
  3. 직사각형을 찾고 확장 폭 확대로 인해 직사각형을 찾아 (문자 폭의 약 1에서 빼기) 수정하십시오.
+0

OX 팽창이란 무엇입니까? 하나의 행만 가진 구조 요소? – user4205580

+0

예, 1D 구조 요소입니다. 물론 2D 구조 요소도 사용할 수 있지만 1D는이 작업에 더 빠르고 빠릅니다. –

+0

"Hello there"와 "abcdf"는 서로 너무 가깝기 때문에 실제로 두 개의 직사각형이 병합됩니다. 그래서 두 개의 분리 된 직사각형 대신에 하나의 직사각형을 가질 것입니다. 이것은 제가 사용했던 방법으로 당신과 비슷한 문제였습니다. – user4205580