我用matlab中的imnoise函数给图像加椒盐噪声为什么产生的噪声不是黑白的?

2024-12-19 11:56:27
推荐回答(4个)
回答1:

加入椒盐噪声的方法有误。

方法如下:

Matlab中为图片加噪声的语句:
  1、J = imnoise(I,type);
  2、J = imnoise(I,type,parameters);
  其中,I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵;
  也可以使用WGN,产生高斯白噪声;
  语句如下:
  1、y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。
  2、y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。
  3、y = wgn(m,n,p,imp,state) 重置RANDN的状态。

回答2:

因为原图是彩色的吧,你试试用rgb2gray函数把原图换为灰度图像

回答3:

你可以先试一下用rgb2gray把原来的lena图变成灰度图,再添加噪声就是黑白的了
我之前也遇到这个问题了,我的lena灰度图是从网上找的,在程序运行的时候显示不是二维的,后来用rgb2gray函数转换后就成功了,也不知道为什么,看着是灰度的,但matlab就是不认

回答4:

椒盐噪声本来就是彩色的