斑点噪声的产生

时间:2012-04-25 06:55:57

标签: c++ image-processing opencv

对不起,如果这看起来像是一个愚蠢或懒惰的“我不能找到它”的问题,但我已经尝试了几天现在找到一篇论文或类似的东西来解释如何产生散斑噪音(在二维图像上)。我发现去除斑点噪声的一种更简单的方法是均值滤波器(我已经实现了)但是我无法找到产生噪声的方法。有人可以请引导我去学习可以产生斑点噪声的地方?此外,在OpenCV(一个C ++图像处理库)中是否有一种简单的方法可以解决这个问题。

感谢您提供的任何帮助。

3 个答案:

答案 0 :(得分:4)

散斑噪声本质上是乘法噪声,其可能(或可能不)具有加性噪声(定义根据情况而变化)。这个paper提供了斑点噪声的良好概述,包括删除它的描述和方法。

这是一个简单的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)

没有噪音:

enter image description here

有斑点噪音: enter image description here

答案 1 :(得分:0)

斑点噪声与物理成像过程有关,因此我不确定以一般方式模拟它是否容易(甚至是否真的可能)。

但是,根据您所需的图像类型,您可以使用其他形式的噪点来接近它。我想,乘法的椒盐噪声应该或多或少地成为模拟SAR图像的技巧。

另一种(可能更好)的可能性是探索NASA / ESA的网站并寻找SAR图像(寻找像Pleiades,Cosmo-Skymed和SAR Lupe这样的节目)。一些门控激光成像实验室已经公开发布了一些样本数据。

答案 2 :(得分:0)

这可能只是为您的图像添加高斯噪音。 cvRandArr似乎是一个很好的候选人。

你可以通过用你的信号来思考你的噪音,从而获得更复杂的东西,这也很容易,因为它只是原始图像和你的噪音之间的一些像素范围的乘法。