我目前正在一个需要去除文档图像中的噪声的项目中工作。但我无法创建任何有用的代码来启动我的项目。谢谢。
根据我的研究,可以通过 k-Fill 算法去除故障扫描仪中产生的噪声(特别是盐/胡椒噪声),但我无法理解该理论。
我在 C++ 和 Codeblocks IDE 中使用 OpenCV。我是图像处理领域的新手。感谢源代码或任何相关链接。
我目前正在一个需要去除文档图像中的噪声的项目中工作。但我无法创建任何有用的代码来启动我的项目。谢谢。
根据我的研究,可以通过 k-Fill 算法去除故障扫描仪中产生的噪声(特别是盐/胡椒噪声),但我无法理解该理论。
我在 C++ 和 Codeblocks IDE 中使用 OpenCV。我是图像处理领域的新手。感谢源代码或任何相关链接。
K-filter,是不是很难理解。取一个小区域(ea 3x3 像素或 5x5 像素左右)。现在计算边框上的“启用”(ea 暗)像素。如果总计数大于 n,则填充中心像素(这是(3x3 网格)上的单个像素。并在整个图像上重复此操作。或者删除它,如果总边界低于 n
我不知道 k-fill 的效果如何;但,
我解释一下;它可能对其他人有用:我将举一个 Python 的例子,但 CPlusPlus 和 Java 应该是相似的(我不知道) 降低噪声的一种方法是 medianFilter 算法,它肯定会降低图像质量。这种质量下降多少取决于 ksize 参数。您必须为此参数选择一个较小的数字(例如 3);这使得质量不会太低。消除非常小的噪音。
import cv2
im = cv2.imread("noisy_flower.png")
im = cv2.medianBlur(im, ksize=5)
cv2.imwrite("clean_flower.png", im)
此模式适用于图像。对于照片中的文字,您可以创建一个蒙版,然后根据蒙版将文本复制回最终图像。这很大程度上取决于你的情况。
Java版本:
Imgproc.medianBlur(src, dst, 5);