简单的数字识别OpenCV中的OCR

我正尝试在OpenCV-Python(cv2)中实现“数字识别OCR”。 这仅仅是为了学习的目的。 我想在OpenCV中学习KNearest和SVM特性。

我有100个样本(即图像)的每个数字。 我想和他们一起训练。

OpenCV示例附带了一个样本letter_recog.py 。 但我仍然无法弄清楚如何使用它。 我不明白什么是样本,回复等。另外,它首先加载一个txt文件,这是我首先不了解的。

稍后再搜索一下,我可以在cpp示例中找到letter_recognition.data。 我使用它并在letter_recog.py模型中为cv2.KNearest创建了一个代码(仅用于测试):

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的数组,我不明白它是什么。

问题:ȍ 链接地址: http://www.djcxy.com/p/15869.html

上一篇: Simple Digit Recognition OCR in OpenCV

下一篇: Getting Pixel Coordinates from Feature Matching