python识别图片中数字_OpenCV-Python中的简单数字识别OCR

本文介绍了使用OpenCV中的KNearest功能,通过手动标记训练数据,实现简单OCR以识别图片中的数字。作者通过处理图像、提取数字轮廓、调整尺寸并训练KNearest分类器,成功地在测试图像上实现了数字识别,达到了100%的准确率。
摘要由CSDN通过智能技术生成

小编典典

好吧,我决定对我的问题进行锻炼以解决上述问题。我想要的是使用OpenCV中的KNearest或SVM功能实现简单的OCR。以下是我的工作方式。(这只是为了学习如何将KNearest用于简单的OCR目的)。

1)我的第一个问题是有关OpenCV示例随附的letter_recognition.data文件的信息。我想知道该文件中的内容。

它包含一个字母以及该字母的16个功能。

并this SOF帮助我找到了它。本文介绍了这16个功能Letter Recognition Using Holland-Style Adaptive Classifiers。(尽管我不了解最后的一些功能)

2)由于我知道,如果不了解所有这些功能,就很难做到这一点。我尝试了其他一些论文,但是对于初学者来说都有些困难。

So I just decided to take all the pixel values as my features. (我并不担心准确性或性能,我只是希望它能够工作,至少以最低的准确性)

我为训练数据拍摄了下图:

(我知道训练数据的数量较少。但是,由于所有字母的字体和大小都相同,所以我决定尝试一下)。

为了准备训练数据,我在OpenCV中编写了一个小代码。它执行以下操作:

它加载图像。

选择数字(显然是通过轮廓查找并在字母的面积和高度上施加约束来避免错误检测)。

在一个字母周围绘制边界矩形,然后等待key press manually。这次我们自己按对应于框中字母的数字键。

一旦按下相应的数字键,它将将该框的大小调整为10x10,并在一个数组(此处为样本)中保存100个像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值