[英]Noise Removal in Opencv
我目前正在一个需要去除文档图像中的噪声的项目中工作。 但我无法创建任何有用的代码来启动我的项目。 谢谢。
根据我的研究,故障扫描仪中产生的噪声(特别是盐/胡椒噪声)可以通过 k-Fill 算法去除,但我无法理解该理论。
我在 C++ 和 Codeblocks IDE 中使用 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.