Python Scikit-learn - 尝试低级别OCR

时间:2015-05-22 13:20:56

标签: python numpy scikit-learn ocr

我想训练SVM执行数字图像分类(0-9),然后用它来读取数值图像(低级别OCR)。

我的想法是逐个读取图像并将它们存储在numpy数组中,然后将所有这些数组放在一个数组中,以便生成我的sample_array。

从Scikit-Learn文档开始“作为其他分类器,SVC,NuSVC和LinearSVC将两个数组作为输入:大小为[n_samples,n_features]的数组X保存训练样本,以及类标签数组y(字符串)或整数),size [n_samples]:“

我的问题是图像的特征应该是什么,以及如何定义它们?

我在scikit-learn页面的教程页面上阅读了手写识别示例,但在那里数据已经在数据集中(即使在搜索网络非常密集之后我仍然不知道如何获取我的PICS转换为数据集)所以你看到它是一个不同的情况。

第二个问题:在这种情况下scikit-image会有用吗?我正在使用标准PIL来读取图像。

1 个答案:

答案 0 :(得分:3)

我想说只有SO才有很多例子。

每个图像都是矩阵中的一行,每列代表一个像素的颜色强度。例如,如果你有一个灰度图像,矩阵中的值范围是0到255.所以你的特征是像素强度。看一下这些页面的例子。

http://matplotlib.org/users/image_tutorial.html

How can I read the RGB value of a given pixel in Python?

我建议你多阅读一下图像处理的基本知识。有很多在线课程。我个人喜欢这个:

https://www.youtube.com/playlist?list=PL8NTI-xZ0OWnuPNA8QD1BmFyBYbeKIaLM