繁体   English   中英

Opencv 中的降噪

[英]Noise Removal in Opencv

我目前正在一个需要去除文档图像中的噪声的项目中工作。 但我无法创建任何有用的代码来启动我的项目。 谢谢。

根据我的研究,故障扫描仪中产生的噪声(特别是盐/胡椒噪声)可以通过 k-Fill 算法去除,但我无法理解该理论。

我在 C++ 和 Codeblocks IDE 中使用 OpenCV。 我是图像处理领域的新手。 源代码或任何相关链接表示赞赏。

如果您不了解 k-fill,请先尝试使用更简单的方法。

是一篇关于替代降噪算法及其性能的文章。

我建议你试试open OpenCV 文档对内置形态学操作有一个简短的解释 您也可以使用示例代码进行实验。

K-filter,不难理解。 取一小块区域(ea 3x3 像素或 5x5 像素左右)。 现在计算边界上的“启用”(一个暗)像素。 如果总计数大于 n,则填充中心像素(这是(3x3 网格上的单个像素)。并在整个图像上重复此操作。或者删除它,如果总边界低于 n

我不知道 k-fill 的效果如何; 但,

我解释一下; 它可能对其他人有用:我将举一个 Python 的例子,但 CPlusPlus 和 Java 应该是相似的(我不知道)减少噪声的一种方法是中值滤波器算法,它肯定会降低图像质量。 这种质量下降的程度取决于 ksize 参数。 您必须为此参数选择一个较小的数字(例如 3); 这使得质量不会太低。 消除非常小的噪音。

import cv2
im = cv2.imread("noisy_flower.png")
im = cv2.medianBlur(im, ksize=5)
cv2.imwrite("clean_flower.png", im)

在此处输入图片说明

此模式适用于图像。 对于照片中的文字,您可以创建一个蒙版并根据蒙版将文本复制回最终图像。 这在很大程度上取决于您的情况。


爪哇版:

Imgproc.medianBlur(src, dst, 5);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM