0

我正在使用opencv进行光学字符识别项目。我已经在普通数字上成功实现了ocr。但是在实时场景中,我遇到了数字之间不需要的噪音的问题。原始图像

我已经转换为灰度并应用了阈值,然后它就变成了这样

如果我应用轮廓检测​​,那么我也会得到那些黑色块。我怎样才能消除数字之间的块。我对 OCR 没有问题,我只想去除那些不需要的噪音并旋转图像。谢谢。

旋转并从图像中移除黑色斑点后。这是我取得的进展以及如何移除由于阴影而附加到第一个数字的那些块。

我遇到了ocr的问题。第一个和最后两个数字无法正确识别。如何提高ocr的效率。在用那些我在实时样本数字上出错的数字训练系统后,我得到了正确的结果。

最终 ocr 图像:最终 ocr 图像

4

1 回答 1

3

在没有先验几何知识的情况下移除黑条,我的意思是纯粹的斑点分析,实际上是不可能的。由于底部有强烈的阴影,因此也无法避免它们与手指接触。

我建议尽你所能找到那些黑条,这是斑点垂直范围最大的地方。也许也可以将它们定位在通过对列取平均值(六个强局部最小值)获得的配置文件中。

在此处输入图像描述

当您水平放置这些条时,您可以通过填充白色矩形在原始图像中擦除它们。您还可以将它们垂直定位在各自的切片中,并使用此信息执行纠偏,然后进行擦除。您还可以预测最左侧和最右侧空隙的位置。

这是您可以实现的结果:

在此处输入图像描述

在此处输入图像描述

于 2016-08-02T22:45:46.043 回答