【问题标题】:Binarize credit card digits before OCR在 OCR 之前对信用卡数字进行二值化
【发布时间】:2013-07-15 07:37:22
【问题描述】:

我正在尝试使用 OpenCV 对信用卡数字进行二值化处理,以便 ocr 重新识别它们。

所以在分割阶段和裁剪之后,我做了这些步骤:

1.将tje图像转换为灰度图像。

2.直方图均衡化。

3.GaussianBlur with (3,3) kernel GaussianBlur(digit,bluredImg,cv::Size(3,3),9);

4.Threshold(Sauvola 方法)。

这是我的一些结果,但我认为它们对于 ocr 来说很嘈杂且不够:

原始图片的链接:

http://s22.postimg.org/rqnlgz1od/image.jpg

如果您有一些提高我的二值化质量的技巧,请与我分享(代码会很棒)。

【问题讨论】:

  • 14.2.14 更新:我使用了此处提到的笔画宽度算法:rnd.azoft.com/… 在干净的卡片上效果很好,但带有纹理的卡片仍然存在问题。
  • 图片链接失效

标签: c++ opencv image-processing computer-vision


【解决方案1】:

我不会对这张图片应用“二值化”步骤。我首先尝试通过消除与邻居相差太大的像素来消除噪音(“盐和胡椒过滤器”,因为它可以消除黑色和白色斑点)

【讨论】:

  • 任何建议如何从这个 3d 数字结构中去除噪音?
  • 考虑到噪音有明显的“斑点”成分,是的,使用盐和胡椒过滤器去除噪音
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
  • 2017-09-25
  • 2015-06-14
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
相关资源
最近更新 更多