散斑噪声生成

use*_*898 4 c++ opencv image-processing

对不起,如果这看起来像一个愚蠢或懒惰的“我找不到它”的问题,但我已经尝试了几天来找到一篇论文或任何类似的东西来解释如何产生斑点噪声(在2D 图像。我发现去除斑点噪声的一种更简单的方法是均值滤波器(我已经实现了),但我绝对找不到产生噪声的方法。有人可以指导我吗我可以在哪里学习生成斑点噪声?此外,如果在 OpenCV(一个 C++ 图像处理库)中是否有一种简单的方法可以做到这一点,会不会有点牵强。

感谢您的任何帮助,您可以提供。

fra*_*xel 5

斑点噪声本质上是一种乘性噪声,它可能(也可能不)具有加性噪声(定义因情况而异)。这篇论文很好地概述了斑点噪声,包括描述和去除它的方法。

这是一些可以产生乘法散斑噪声的简单python代码:

import cv

im = cv.LoadImage('tree.jpg', cv.CV_LOAD_IMAGE_GRAYSCALE)
mult_noise = cv.CreateImage((im.width,im.height), cv.IPL_DEPTH_32F, 1)

cv.RandArr(cv.RNG(6), mult_noise, cv.CV_RAND_NORMAL, 1, 0.1)    

cv.Mul(im, mult_noise, im)

cv.ShowImage("tree with speckle noise", im)
cv.WaitKey(0)
Run Code Online (Sandbox Code Playgroud)

无噪音:

在此处输入图片说明

有斑点噪声: 在此处输入图片说明