OCR распознавания простых цифр в OpenCV-Python

Я пытаюсь реализовать "распознавание цифр OCR" в OpenCV-Python (cv2). Это только для учебных целей. Я хотел бы изучить возможности KNearest и SVM в OpenCV.

У меня есть 100 образцов (то есть изображений) каждой цифры. Я хотел бы тренироваться с ними.

Есть образецletter_recog.py это идет с образцом OpenCV. Но я все еще не мог понять, как его использовать. Я не понимаю, что это за образцы, ответы и т. Д. Кроме того, сначала загружается текстовый файл, чего я сначала не понял.

Позже, немного поискав, я смог найти letter_recognition.data в образцах cpp. Я использовал его и сделал код для cv2.KNearest в модели letter_recog.py (только для тестирования):

import numpy as np
import cv2

fn = 'letter-recognition.data'
a = np.loadtxt(fn, np.float32, delimiter=',', converters={ 0 : lambda ch : ord(ch)-ord('A') })
samples, responses = a[:,1:], a[:,0]

model = cv2.KNearest()
retval = model.train(samples,responses)
retval, results, neigh_resp, dists = model.find_nearest(samples, k = 10)
print results.ravel()

Это дало мне массив размером 20000, я не понимаю, что это такое.

Вопросов:

1) Что такое файл letter_recognition.data? Как создать этот файл из моего собственного набора данных?

2) Что делаетresults.reval() Обозначим?

3) Как мы можем написать простой инструмент для распознавания цифр, используя файл letter_recognition.data (KNearest или SVM)?

Ответы на вопрос(3)

Ваш ответ на вопрос