2011-09-28 4 views

답변

2

그럼 가장 간단한 방법은 번호판을 감지 할 수 있기 때문에 구분선을 찾는 것입니다. 나는 각 문자 뒤에 휴식과 흰색 또는 노란색 영역이있는 경우에만이란 번호판에 대한 Google 이미지에서 추측 할 수 있습니다 (이것이 사용하는 경우).

는 개별 문자의 경계 상자를 찾는 방법은 다음과 같습니다

당신은 열 합계 볼 수 있으며, 노란색 또는 흰색의 피크가 어디 분할 지점으로 가져가. 또는 검정색 구성 요소 또는 글만 합칠 수 있습니다. 이상적인 상황에서는 0으로 시작하여 검정색 구성 요소를 찾은 다음 0 수로 돌아가서 편지를 얻습니다. 약간의 적응 가능한 통계가 필요할 수 있습니다.

[편집] 이미지에서 번호판을 분류하십시오. 각 열의 합계를 살펴 봄으로써 번호판 이미지의 높이 255 *를 알 수 있습니다. 이것을 임계 값으로 사용하고,이 봉우리의 중간을 찾고, 문자의 가장자리를 나타내는 점을 얻습니다. 이 데이터를 사용하여 이미지를 분류 할 수 있습니다.

이제 피크는 안정적으로 통계적으로 세분화 될 수 있습니다. 흰색을 검은 색으로, 검은 색을 흰색으로 바꿉니다. 이 경우 컬럼의 합계를 다시 취합니다. 최고점은 이제 0에서> 1까지의 변경 사항을 찾는 문자의 위치이며 0을 다시 찾을 때까지 기다립니다. 이 경우 x 위치를 기록하면 문자 위치를 알 수 있습니다. 필요한 경우 열의 합계에 대한 코드를 제공 하겠지만 Google은 필요한 통계가 모두 당신 뿐인 단계를 번역합니다.

다른 방법

별도의 사각형 영역이나 학생의 즐겨 찾기로 화상을 분할하는 또 다른 방법은 번호판에 걸쳐 마스크를 검사하는 것입니다. 따라서 Neural Network (NN)에 첫 번째 ROI (0,0,100,100)라고 입력하면 y 축 (0,1,100,100)을 따라 이동합니다. 모든 데이터를 읽을 때까지이 작업을 계속하십시오. 같은 편지를 여러 번 분류 할 수 있으므로 NN이 과다하게 탐지되는 위험이 있습니다. 편지를 분류 할 때 항상 20 픽셀 정도 건너 뛰어 잘못된 분류를 제거 할 수 있습니다.

확실히이 방법을 사용하려면 번호판 이미지의 크기를 줄여야합니다. 나는 9x9 배열을 사용하여 정확한 OCR을 보았지만, 20x20이 충분해야한다는 판단을 내리기 위해 더 많이 사용해야하지만 모양이 있어야합니다.

[편집] 효율성

더 나은 어느 하나? 잘 그것은 달려있다. 그것들은 모두 작동 할 것이지만 (NN tranining에 따라), 개별 편지의 바운딩 박스 찾기에 관련된 방법은 안정적으로 설정하기가 어렵습니다. 모든 데이터를 NN에 공급하는 마스크를 가로 지르는 스캐닝은 대개 신뢰할 만하지만 매우 비효율적 일 수 있습니다. NN에 공급하기 위해 400 * 데이터 포인트 인 20 * 20 이미지로 작업하는 경우 번호판 너비 -20에 따라 시간을 늘려야합니다. 그러면 루프를 통해 최대 반복 횟수를 얻을 수 있습니다.

NN은 교육하는 데 시간이 오래 걸릴 수 있지만 대량의 데이터 (NN에 따라 다름)로 실행될 수도 있습니다. 각 글자를 세분화하는 방법은 NN에서 실제로 덜 효율적이므로 NN에보다 정확한 데이터를 제공 할 수 있습니다.

EMGU OCR 인식에 이미 내장 된 OCR 엔진을 사용하는 것이 매우 빠르다는 문제가 있습니다. EMGU 예제에서 가장 좋은 방법을 결정하는 유일한 방법은 3 가지 방법 모두를 작성하고 비교하는 것입니다. 작동하는 제품이 필요하다면 NN을 사용하고 문자판에 ROI를 입력하면 어디서든 번호판을 따라 X 위치를 알 수 있습니다.

죄송합니다. 가장 직접적인 답을 줄 수는 없지만 상황에 영향을 줄 수있는 요소가 두 가지 많이 있습니다. 나는 이러한 방법 중 일부는 도움이 희망

,

많은 감사 크리스

+0

친애하는 크리스, 판은 더 라이센스의 문자 분할을위한 알고리즘? –

+0

Woooowww, EMGU OCR !!! 괜찮습니다. 감사합니다. 친애하는 chris –

+0

도움이되기를 기뻐합니다. – Chris