我目前正在一个需要对文档图像进行噪声去除的项目中工作。但是我无法创建任何有用的代码来开始我的项目。谢谢。
根据我所学习的,(特别是盐/胡椒噪声)产生在故障扫描仪中的噪声可以通过k-Fill算法来去除,但我无法理解该理论。
我正在使用C++中的OpenCV和Codeblocks IDE。我是图像处理领域的新手。源代码或任何相关的链接都会受到赞赏。
我目前正在一个需要对文档图像进行噪声去除的项目中工作。但是我无法创建任何有用的代码来开始我的项目。谢谢。
根据我所学习的,(特别是盐/胡椒噪声)产生在故障扫描仪中的噪声可以通过k-Fill算法来去除,但我无法理解该理论。
我正在使用C++中的OpenCV和Codeblocks IDE。我是图像处理领域的新手。源代码或任何相关的链接都会受到赞赏。
K-滤波器,很容易理解。 选取一个小区域(例如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);