从图像中提取数字

时间:2013-11-29 14:07:10

标签: image-processing ocr image-segmentation

credit recharge card 我有手机信用充值卡的图像,我想只提取充值号码(灰色区域)作为可用于直接为手机充电的号码序列

这只是一张示例照片,不能视为标准照片,因此矩形区域的位置可能会有所不同,在背景中也会有不同的尺寸。划痕区域可能没有完全划伤,相机的深度和位置也可能不同。我在互联网上阅读了大量的论文,但我找不到任何可能有趣的内容,大多数论文都讨论了手写数字的检测。 任何链接或算法名称都非常有用。

5 个答案:

答案 0 :(得分:2)

您可以使用机器学习方法在vehicle plate number detection上搜索论文。基本上你需要先提取数字,你可以使用sobel滤镜提取垂直边缘,然后使用阈值(二进制图像)和形态学操作(去除每条垂直边缘线之间的空白区域,并连接所有边缘数量较多的区域) )。最后检索轮廓并用掩模填充连接的组件。

提取数字后,可以使用神经网络和svm等机器学习方法识别它们。

希望它有所帮助。

答案 1 :(得分:0)

从图像中提取GRAY部分,然后使用Tesseract(OCR)提取灰色图像上的文字。

答案 2 :(得分:0)

我认为您可能找不到从互联网上的图像中读取的算法。没有人会透露这一点。我想,如果你是一个铁杆程序员,你可以使用自己的代码破解它。我试过截图,字体更清晰,算法很简单。为此,算法应该很复杂,因为您正在从照片源而不是屏幕截图中阅读。

答案 3 :(得分:0)

请按照以下步骤操作:

加载图片。

选择数字(通过轮廓查找并对字母的面积和高度应用约束以避免错误检测)。这将分割图像,从而模块化您想要执行的OCR操作。

用于执行识别和分类的简单K - 最近邻算法。

enter image description here

答案 4 :(得分:0)

如果最终目标只是制造机器人,则可以直接从应用程序中提取文本,而不必担心OCR,但是如果您想了解有关机器学习的更多信息,而您尚未完成MNIST,和CIFAR-10数据集是绝佳的起点。

如果对图像进行预处理,以使黄色像素为黑色,而所有其他像素为白色,则可以使用更加干净的源代码。

如果您想为此进行Tesseract的工作,而预处理还不够,那么您可能必须重新训练该字体。您将需要准备一个语料库,以与期望源数据看起来类似的方式对其进行处理,然后使用类似qt-box-editor的方法来更正数据。本指南应该能够引导您完成再培训的基本步骤。