2012-04-23 4 views
0

Я попытался использовать MatchTemplate() для соответствия числам на изображении. Например, цифры [0985-977-735] на изображении. И получил следующие результаты: (номер, местонахождение) [(0, 1), (3, 103), (5, 33), (5, 116), (7, 62), (7, 73) , (8, 21), (9, 11), (9, 53)]Как повысить точность соответствия шаблонов OpenCV

Но в большинстве ситуаций точность очень низкая.

[0983-945-180]: [(0, 113), (1, 93), (3, 31), (4, 62), (5, 74), (8, 103), (9, 11), (9, 53)] первый нуль и восемь не могут быть распознаны.

[0932-509-607] [(0, 103), (2, 31), (3, 21), (5, 54), (6, 92), (7, 113), (9, 72)] первый, второй нуль и первые девять не могут быть распознаны.

[0911-873-752] [(0, 1), (1, 22), (1, 33), (2, 113), (3, 72), (5, 105), (7, 92), (8, 52), (9, 11)] первые семь не могут быть распознаны.

часть кода следующим образом:

import cv 
for i in range(10): 
    template_im = cv.LoadImage(template_file, cv.CV_LOAD_IMAGE_GRAYSCALE) 
    width = original_im.width - template_im.width + 1 
    height = original_im.height - template_im.height +1 
    result_image = cv.CreateImage((width, height), cv.IPL_DEPTH_32F, 1) 
    cv.Zero(result_image) 
    cv.MatchTemplate(original_im, template_im, result_image, cv.CV_TM_CCOEFF_NORMED) 
    (_, R, _, max_loc) = cv.MinMaxLoc(result_image) 

    if R < 0.90: 
     pass 
    else: 
     phone_number_location.append((i, max_loc[0])) 
     ... 
     ... 
+1

Можете ли вы опубликовать образцы изображений, над которыми вы работаете? – sinelaw

+0

Если вы ищете цифру OCR, вы можете увидеть простую реализацию здесь, используя OpenCV-Python.http: //stackoverflow.com/questions/9413216/simple-digit-recognition-ocr-in-opencv-python/9620295# 9620295 –

+0

Возможный дубликат [распознавание цифры с использованием OpenCV на android] (http://stackoverflow.com/questions/10107258/digit-recogntion-using-opencv-on-android) – karlphillip

ответ

0

Вы можете, как использовать SimpleCV для этого. Он написан на питоне. Большинство вещей, которые вам нужны, в нем. Я написал базовое приложение для сшивки изображений всего в 15 строках кода. Надеюсь это поможет. Используйте код в github, потому что сопоставление шаблонов является новым в SimpleCV. Надеюсь, это поможет.

+0

Спасибо, я попробую! – Jasoniem9246

Смежные вопросы