相关疑难解决方法(0)

OpenCV-Python中的简单数字识别OCR

我正在尝试在OpenCV-Python(cv2)中实现"数字识别OCR".它仅用于学习目的.我想在OpenCV中学习KNearest和SVM功能.

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

letter_recog.pyOpenCV示例附带了一个示例.但我仍然无法弄清楚如何使用它.我不明白什么是样本,响应等.另外,它首先加载一个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()
Run Code Online (Sandbox Code Playgroud)

它给了我一个20000的数组,我不明白它是什么.

问题:

1)letter_recognition.data文件是什么?如何从我自己的数据集构建该文件?

2)什么results.reval()表示?

3)我们如何使用letter_recognition.data文件(KNearest或SVM)编写简单的数字识别工具?

python ocr opencv numpy computer-vision

370
推荐指数
3
解决办法
21万
查看次数

标签 统计

computer-vision ×1

numpy ×1

ocr ×1

opencv ×1

python ×1