algorithm - k近邻算法应该使用数字0-9的二值图像的哪些特征?

标签 algorithm ocr

玩弄 OCR。

我有一组数字0-9的二进制图像可以作为训练数据,还有另一组相同范围内的未知数字。我希望能够使用 k 最近邻算法对未知集中的数字进行分类。

我已经对该算法进行了一些研究,并且我读到最好的方法是采用数量特征并将每个训练数据绘制在以这些特征为轴的特征空间中,对于未知的每个图像set 做同样的事情,并使用 k 最近邻算法找到最近的点,就像所做的一样 here .

什么特征最适合这样的东西?

最佳答案

在一个简单的例子中,正如 phs 在他的评论中提到的那样,使用了像素强度。将图像调整为标准尺寸,如 20x20、10x10 等,并将整个图像分别表示为 400 或 100 个元素的向量。

此处显示了这样的示例:Simple Digit Recognition OCR in OpenCV-Python

或者您可以查找力矩、质心、面积、周长、欧拉数等特征。

如果您的图像是灰度图像,您可以使用定向梯度直方图。这是 SVM 的示例。您可以尝试使其适应 kNN:http://docs.opencv.org/trunk/doc/py_tutorials/py_ml/py_svm/py_svm_opencv/py_svm_opencv.html#svm-opencv

关于algorithm - k近邻算法应该使用数字0-9的二值图像的哪些特征?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22161705/

相关文章:

java - 在线性时间和常数空间的交替位置对具有两个排序序列的数组进行排序

algorithm - 遗传算法中的线性适应度缩放产生负适应度值

ruby - 在 Ruby 中查找周期和范围集差异的有效方法

api - Google Vision 文本检测返回过多不必要的数据

Android Studio 上的 Android Tesseract OCR

algorithm - 具有多种尺寸箱的 2D 箱装箱

Ruby 的变量交换 : x, y = y,x -- 数组引用似乎更慢?

java - 如何提高来自 Tesseract 的 OCR 文本的准确性?

ocr - 当我使用tesseract识别表格时,我无法得到任何输出,我怎样才能识别表格

javascript - tesseract.js 示例代码不起作用