首页 > 解决方案 > 从图像中去除线条伪影

问题描述

我正在创建一个 OCR 应用程序。它以扫描或照片打印形式从盒装部分中提取手写字符,并使用 CNN 读取它。

它使用轮廓成功地提取了字符,但在某些情况下,有些线条也被读取为轮廓。这些线条似乎是纯噪声或裁剪盒装部分时剩余像素的结果。盒装部分使用轮廓裁剪。

基本上,当使用良好的扫描仪扫描表单并以 PNG 格式保存时,它就可以工作。否则,它将无法正常工作。我也需要它来处理 JPEG 文件和废话相机/扫描仪。

那么这更多的是一个问题,即我在理论上可以使用哪些可能的技术。

我想删除行,或者让代码忽略它。

我试过了:

这是它的样子:

1 3

4 5

灰色部分勾勒出检测到的轮廓。数字表示轮廓的索引,按检测到的顺序排列。请注意,也检测到了线条。我想摆脱这个。

除了干扰模型并使其在试图解释这些时胡说八道的线条之外,在某些情况下它似乎也会导致此错误:

ValueError: cannot reshape array of size 339 into shape (1,28,28,1)

也许我会在此期间开始调查这个问题。

标签: pythonopencv

解决方案


推荐阅读