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

作者&投稿:僪亚 (若有异议请与网页底部的电邮联系)
matlab 加椒盐噪声 有问题~

I=imread('F:\Image.tif'); % 读入原始图像
J=imnoise(I,'salt & pepper',0.2); % 添加加噪声密度 为 0.2 的椒盐噪声
imwrite(J,'F:
osie.tif');%把加入噪声的图像保存起来
%%%%%%%%%%%%%%%%去除椒盐噪声
h=[1,1,1;1,0,1;1,1,1]; % 模板矩阵
h=h/8; % 产生滤波归一化的模板
K=conv2(J,h); % 用均值模板对图像滤波,得到去除后的图形K
imwrite(K,'F:\cleanimage.tif')%保存去除后的图像

1、打开Matlab,点击“新建脚本”,如下图所示。

2、在代码编辑区输入代码,先利用Imread函数读取图像,然后使用Imshow函数将图像展示出来,以便与添加噪声后的图像做对比。

3、Matlab中利用imnoise函数可以添加各种噪声,而使用“gaussian”参数就可以添加高斯噪声。


4、选择保存位置,并为m文件重命名,如下图所示所示,设置完成,点击“保存”。

5、这样,就在Matlab中为图像添加了高斯噪声,并且把一组对比图显示在同一个窗口中,如下图所示。

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

方法如下:

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的状态。

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

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

椒盐噪声本来就是彩色的


如何用Matlab求解级数的和??
在Matlab中,我们可以使用内置函数来求解级数的和。这里我们以一个无穷级数为例,例如:求和 ∑(i=1 to ∞) (1\/i^2)。步骤如下:首先,我们需要定义一个函数来计算每一项的值。在这个例子中,我们的函数是 f(i) = 1\/i^2。然后,我们需要定义一个变量来存储级数的和。接下来,我们需要使用一...

matlab中,如何用real()函数保留整形的计算结果?
如果希望只保留计算结果的实部,应该用:B=real(A);如果希望只保留计算结果为实数的那些项而删掉所有含有虚数的项,应该用:B=A(imag(A)==0)。优势特点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来。2) 具有完备的图形处理功能,实现计算结果和编程的可视化。

用matla\/ matlab画图的过程中出现乱码是怎么回事?
很显然我们用,MATLAB中plot的画图工具,在MATLAB画图界面上是显示的是,汉字很完美,我们点击保存之后,另存为eps格式。再打开eps文件,你就会发现,咦,原本是在MATLAB中显示都好好的,一旦存为eps格式,横纵轴就出现乱码了。见下图,怎么办?如果用MATLAB中print输入语句,还是会出现乱码的。到底为什么呢...

matlab中画线使用什么函数表达式?
水平线:plot([xmin,xmax],[a,a]);垂线: plot([b,b],[ymin,ymax]);xmin,xmax,ymin,ymax 分别是水平线和垂线的起点和终点。matlab中画线使用plot(a,b,c,d,e)函数,其中参数a是x坐标的范围,可以的数字也可以是一个函数表达式。参数b表示y坐标的范围,可以是数字也可以是函数表达式,...

matlab中linspace怎么使用
a为初始值,b为步长,c为终止值(c>a)。linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。在MATLAB中,冒号是一个重要的运算符,利用它可以产生行向量。冒号表达式的一般格式为a : b : c冒号表达式可产生一个由a开始到c结束,以步长b自增的行向量。在MATLAB中,还可以...

如何在matlab中使用示波器?
3、可以通过matlab使用。3)、Style设置每个波形输入的颜色、波形显示形式、坐标轴颜色、隐藏与否、波形线粗细等。2012matlab版怎么调SIMULINK示波器y轴的范围变大右击显示界面,点选AXESPROPERTIES弹出的设置菜单该菜单主要用来设置Y轴的数值范围和标题。首先打开Simulink,然后点击菜单栏中的File,新建一个模型...

如何使用matlab的指数函数进行运算?
1、首先需要知道matlab中使用exp(1)表示e,使用exp(x)表示e的x次方,如下图所示。2、打开matlab,在命令行窗口中输入exp(1),可以看到结果为2.7183,e的值大约为2.7183,如下图所示。3、输入exp(10)表示e的10次方,如下图所示。4、输入exp(20)表示e的20次方,x次方需要x数字就可以,如下图...

在matlab中,用字母代表颜色的有哪些?
B Y M C W K等。详细解释:MATLAB中,颜色表示是编程绘图时不可或缺的一部分。常用的颜色字母代表特定的颜色。例如,字母R代表红色,常用于表示各种图形中的高亮部分或者重要信息。字母G代表绿色,常用于表示背景色或者次要信息。字母B代表蓝色,常用于表示图形的轮廓线或者主要的线。字母Y代表黄色,在...

plot在matlab中的用法
plot在matlab中的用法就是绘制由线段连接的一组坐标,请将X和Y指定为相同长度的向量。当y为向量时,是以y的分量为纵坐标,以元素序号为横坐标,用直线依次连接数据点,绘制曲线。若y为实矩阵,则按列绘制每列对应的曲线。若y和x为同维向量,则以x为横坐标,y为纵坐标绘制连线图。若x是向量,y是...

在matlab中怎么输入特殊符号
图形标题和Annotation中的TextBox。上标和下标可以通过`^{上标}`和`_{下标}`来实现,例如`y=x^2`将显示为y等于x的平方。总的来说,Matlab提供了强大的符号输入功能,使得在代码中插入和显示复杂的数学表达和注释变得方便。只需掌握基本的语法,你就可以轻松地在Matlab中创建专业级的图形和文档。

集贤县14715992862: matlab中给图像加高斯白噪声 -
徒制山荷: 函数imnoise在为图像添加噪声之前,要将它转化为范围[0,1]内的double类图像,这里把20改为20/(255)^2就可以了

集贤县14715992862: 如何用MATLAB为图片加噪声???/ -
徒制山荷: Matlab中为图片加噪声的语句是 (1)J = imnoise(I,type); (2)J = imnoise(I,type,parameters); 其中I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵; 一般情况下用(1)中表示即可,(2)中表示是允许修改参数, 而(1)中使用缺省参数; ...

集贤县14715992862: MATLAB中的imnoise2和imnoise3的用法和区别数字图像处理上写的用法有点没看懂 r=imnoise2('gaussian',100000,1,0,1);参数都代表什么意思 结果r为什... -
徒制山荷:[答案] r=imnoise2('gaussian',100000,1,0,1);imnoise2用来产生噪声模型,上式gaussian代表噪声服从高斯分布,100000,1代表产生的噪声矩阵为100000*1大小,0代表高斯分布随机数的均值,1代表高斯分布随机数的标准偏差.书上的r是...

集贤县14715992862: 如何用MATLAB确定图像上的噪声种类 -
徒制山荷: 使用imnoise函数 X=imread('D:\matlab7.1\toolbox\images\imdemos\greens.jpg'); Y=imnoise(X,'gaussian');%%默认均值为0,方差为0.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A double-class image must have values between zero and one,这个问题是你的图像是double型,但是你的图像的数值不是0-1之间,给他除以255即可!

集贤县14715992862: matlab如何给图片添加随机噪声 -
徒制山荷: 用 imnoise 就可以 例如: J = imnoise(I,'salt & pepper',0.02);具体用法可以 doc imnoise 来看一下各种噪声类型和参数设置.

集贤县14715992862: matlab中图像加噪怎么写,我看很多文献加噪都是方差为10,20.我用imnoise函数只能加方差小于1的高斯噪声 -
徒制山荷: imnoise(f,'gaussian',m,var)中的方差是实际方差除以灰度级的平方,所以如果标准差25,var=25^2/255^2=0.0096

集贤县14715992862: MATLAB中的imnoise2和imnoise3的用法和区别 -
徒制山荷: r=imnoise2('gaussian',100000,1,0,1); imnoise2用来产生噪声模型,上式gaussian代表噪声服从高斯分布,100000,1代表产生的噪声矩阵为100000*1大小,0代表高斯分布随机数的均值,1代表高斯分布随机数的标准偏差. 书上的r是噪声矩阵,...

集贤县14715992862: 我想问一下:怎么用matlab编写函数对图像进行高斯滤波以去除噪声? -
徒制山荷: 2. 噪声及其噪声的 Matlab 实现 imnoise 函数格式:J=imnoise(I,type) J=imnoise(I,type,parameter)说明:J=imnoise(I,type) 返回对...

集贤县14715992862: 用MATLAB做高斯滤波imnoise用法怎么不对 -
徒制山荷: g=imnoise(c,'gaussian',0,0.01); %加入高斯噪声 这句没法运行吗? 我机子上可以啊,这句是对的

集贤县14715992862: MatlabJ1=imnoise后面的参数是什么意思 -
徒制山荷: function y=shorpath(A,s,t) if nargin%t设置默认值 if nargin%s设置初值 if nargin%全部参数默认初值设置%或者提示error end end end%函数体%......end 函数一般都是这么写的,所以调用shorpath(A,s)一般而言t都是采取的程序设置好的默认值.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网