这是一个二进制图像的例子,即作为输入,我们有一个imageByteArray和2个可能的值:0
和255
。如何减少二进制图像中的背景噪音
例1:
例2:
该图像包含在背景一些原稿边缘。
该任务是删除,减少背景像素的数量对边缘像素的影响最小。
问题是现代算法存在哪些技术来做到这一点?
我不希望作为一个答案是什么:使用高斯模糊摆脱背景噪音,使用黑白算法(康力,索贝尔等)阈值或使用霍夫(霍夫线性的推移这种噪声疯狂不管是什么选项已设置)
最简单的解决方案是检测所有轮廓并过滤掉长度最小的轮廓。这样做效果很好,但有时根据图像它也会擦除有用的边缘像素。
更新: 作为输入,我有标准的RGB图像与文件(驾驶执照ID,支票,账单,信用卡,...)在一些背景。主要任务是检测文档边缘。接下来的步骤是众所周知的:灰度,模糊,Sobel二值化,Hough概率,找到矩形或梯形(如果找到梯形形状然后进行透视变换)。在简单的对比背景下,它一切正常。我之所以会问降噪问题,是因为我需要处理数千种背景,而且无论使用什么选项,都会产生噪音。不管Hough如何配置,噪声都会导致额外的线路,并且额外的线路可能欺骗后续逻辑并严重影响性能。 (它在java脚本中实现,没有OpenCV或GPU支持)。
这是您的输入图像的黑/白图像?如果是这样,很难提高图像的质量 –
你可以研究形态学操作,虽然也许已经有太多的噪音来做任何形态学上合理的事情。 – hbaderts
作为输入我有标准的RGB图像,上面的图像是灰度,模糊和索贝尔处理的结果。 –