2011-11-09 4 views
15

고등학교 체육관에서 볼 수있는 일반적인 점수 판에서 숫자를 추출하려고합니다. 나는 디지털 "알람 시계"글꼴의 각 숫자를 가지고 관점 정확한 임계 값을 관리하고 비디오 피드 여기OpenCV를 사용한 스코어 보드 디지트 인식

Sample input

에서 주어진 숫자를 추출 내 템플릿 입력 샘플의

Template input

제 문제는 아무런 분류 방법도 0-9의 모든 숫자를 정확하게 결정할 수 없다는 것입니다. 몇 가지 방법을 시도했습니다.

1) Tesseract OCR -이 도구는 지속적으로 4를 망가 뜨리고 이상한 결과를 자주 반환합니다. 명령 행 버전 만 사용하면됩니다. 실제로 "자명종"글꼴로 교육하려고하면 매번 알 수없는 문자가 표시됩니다.

2) kNearest with OpenCV - 내 템플릿 이미지 (0-9)로 구성된 데이터베이스를 검색하고 가장 가까운 것을 확인합니다. 나는 자주 cvMatchShapes)

3 3/1 사이 7/1 혼란을 얻을 -이 사람은 매우 나쁜, 그것은 일반적으로 각 입력 숫자에 숫자 2 사이의 차이를 말할 수 없다

4) 탄젠트 거리 - 이것은 가장 가깝지만 입력과 템플릿 사이의 가장 작은 탄젠트 거리는 매번 "7"에서 "1"로 매핑됩니다.

나는 이런 분류 알고리즘을 얻지 못한 실정입니다. 간단한 문제. 나는 입력을 꽤 잘 정리했다고 생각합니다. 분류는 꽤 간단한 경우지만 실제로 실제로 사용하기에 충분히 신뢰할만한 것은 없습니다. 분류 알고리즘을 찾는 위치 나 올바르게 사용하는 방법에 대한 아이디어는 인정 될 것입니다. 입력을 정리하지 않습니까? 더 나은 입력 데이터베이스는 어떻습니까? 나는 입력을 위해 무엇을 사용할 지 모르겠다. 각 숫자와 템플릿은이 시점에서 보일 것이다.

답변

9

클래식 숫자 인식 (이 경우에 잘 작동 함)은 숫자 주변에서 이미지를 자르고 4x4 픽셀로 크기를 조정 한 다음 결국 검색 공간을 줄이기 위해 dct를 적용하는 것입니다. 처음 4-6 값). 그 값으로 분류자를 훈련 시키십시오. SVM은 OpenCV에서 사용할 수있는 좋은 도구입니다.

emma 나 martin 제안처럼 간단하지는 않지만보다 우아하고 더 강력합니다.

귀하의 의견의 너비/높이 비율을 감안할 때

편집, 당신은 몇 가지 다른 작은 해상도를 선택할 수 있습니다. Like 3x4

+0

3x5 이미지 (디지털 디스플레이의 행/열과 유사)를 사용했으며 kNearest 검색에서 효과적입니다. 죽어. 감사! – pyromanfo

+0

듣기 좋습니다! 계속해! – Sam

3

어리석은 소리가 들릴 수도 있지만 단순히 검정색 막대를 수직으로 확인한 다음 상단 및 하단 절반에 수평으로 - 중앙선의 왼쪽과 오른쪽을 간단히 검사 해 보셨습니까?

3

입력의 매우 규칙적인 성격을 감안할 때 검사 할 이미지의 7 개 대상 영역 집합을 정의 할 수 있습니다. 각 영역은 디스플레이의 각 디지털의 7 개 세그먼트 중 하나의 중요한 부분을 포함해야하지만 겹치지 않아야합니다.

그런 다음 각 영역을 확인하고 픽셀의 색상/밝기를 평균하여 주어진 이진 상태에 대한 확률을 생성 할 수 있습니다. 당신의 확률이 모든 분야에서 높다면 당신은 그 자리가 무엇인지 쉽게 알 수 있습니다.

순수 ML 유형 알고리즘만큼 우아하지는 않지만 ML은 정규가 아닌 입력에 훨씬 적합하며,이 경우에는 적용되지 않는 것으로 보이므로 정확성을 위해 우아함을 바꿉니다.

2

Tesseract를 사용하여 텍스트 인식을 시도하는 경우 한 자릿수가 아니고 중복 된 자릿수를 전달하십시오. 때로는 더 나은 결과를 낼 수 있습니다. here's the example. 그러나 비즈니스 소프트웨어를 계획하는 경우 상용 OCR SDK를 살펴 보는 것이 좋습니다. 예를 들어, ABBYY FineReader Engine을 시도하십시오. 무료로 응용 프로그램을 사용할 수는 없지만 비즈니스와 관련하여 귀하의 제품에 좋은 가치를 부여 할 수 있습니다. 내가 아는 한, ABBYY는 가장 좋은 OCR 품질을 제공합니다 (예 : 체크 아웃). http://www.splitbrain.org/blog/2010-06/15-linux_ocr_software_comparison

관련 문제