【问题标题】:Python Scikit-learn - An attempt at a low level OCRPython Scikit-learn - 低级 OCR 的尝试
【发布时间】:2015-08-04 13:02:31
【问题描述】:

我想训练一个 SVM 来对数字图像 (0-9) 进行分类,然后用它来读取具有数值的图像(低级 OCR)。

我的想法是一张一张地读取图像并将它们存储在numpy数组中,然后将所有这些数组放入一个数组中,从而制作我的sample_array。

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

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

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

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

【问题讨论】:

  • X 是 [n_samples x n_features] 的二维数组,其中n_samples 是您拥有的图像数量,n_features 几乎可以是您在单个图像之上执行的任何操作.从图像本身,n_features 将表示图像的所有像素(即从 2D 转换为 1D)到任何更复杂的特征。

标签: python numpy scikit-learn ocr


【解决方案1】:

我想说只有在 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

【讨论】:

    猜你喜欢
    • 2021-02-01
    • 2020-09-28
    • 2014-08-09
    • 2015-07-06
    • 2018-06-27
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 2020-10-25
    相关资源
    最近更新 更多