4

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

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

4

3 回答 3

7

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

这是一些可以产生乘性散斑噪声的简单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)

无噪音:

在此处输入图像描述

有散斑噪声: 在此处输入图像描述

于 2012-04-25T09:04:24.287 回答
0

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

但是,根据您所需的图像类型,您可以使用其他形式的噪声来处理它。我想乘法椒盐噪声应该或多或少地起到模拟 SAR 图像的作用。

另一种(可能更好)的可能性是探索 NASA / ESA 的网站并查找 SAR 图像(查找 Pleiades、Cosmo-Skymed 和 SAR Lupe 等程序)。一些门控激光成像实验室还公开发布了一些样本数据。

于 2012-04-25T07:07:12.563 回答
0

只需在图像中添加高斯噪声即可。cvRandArr似乎是一个不错的候选人。

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

于 2012-04-25T07:11:21.327 回答