MATLAB添加噪声

更新时间:2023-07-19 11:59:24 阅读: 评论:0

MATLAB添加噪声
⾸先是⽤MATLAB⾃带的imnoi函数添加噪声。
img= im2double(imread('D:\Matlab2018a\work\img.png'));%改为你要读⼊图⽚的路径;im2double作归⼀化处理
sigma=25;%添加噪声的标准差
imgnoi=imnoi(img,'gaussian',0,(sigma/255)^2); %添加均值为0,标准差为sigma⾼斯噪声
别来无恙歌词
霸气的成语imshow(imgnoi);
imwrite(imgnoi,'imgnoi.png');%输出噪声图到当前⽂件夹
由于matlab的imnoi函数会将输出归⼀化,所以在读⼊图⽚的时候就先⽤im2double把图⽚归⼀化了,免得数据类型不⼀样。
将上⾯添加噪声那⼀句改为如下语句则添加其它种类的噪声
imgnoi=imnoi(img,'salt & pepper',0.05); %添加密度为5%的椒盐噪声
imgnoi=imnoi(img,'speckle',(sigma/255)^2); %添加均值为0,标准差为sigma乘性噪声,这个是⽤服从均匀分布的随机噪声乘以图像img,再加到img上。imgnoi=imnoi(img,'poisson');%添加泊松噪声
下⾯我们⽤⾃⼰写的代码来添加噪声。
img=img+(sigma/255)*randn(size(img));%给img添加标准差为sigma的⾼斯噪声
img=img+img.*((sigma/255)*rand(size(img)));%给img添加标准差为sigma的乘性噪声,也是均匀分布
对于椒盐噪声,先⽤rand()⽣成均匀分布的随机噪声,然后根据你需要的椒盐噪声密度,作阈值处理,反正就是这种思想,实现的⽅法有很多,我这⾥列⼀种。
img=im2double(imread('8.png'));%改为你要读⼊图⽚的路径
imgnoi =(rand(size(img))); %⽣成随机数组
d = 0.1;  %需要的椒盐噪声密度
output=img;
n开头的单词[width,height]=size(img);
for i=1:width
for j=1:height
宝宝积食症状if(imgnoi(i,j)>(1-d/2))
output(i,j)=1;
end
if(imgnoi(i,j)<d/2)
output(i,j)=0;
end
end
end
过头税费
imshow(output);
文房四宝是什么
也可以分两步分别⽣成椒噪声和盐噪声,但是这个总的密度就没有那么好控制
img=im2double(imread('8.png'));%改为你要读⼊图⽚的路径
d = 0.1;  %需要的胡椒或盐粒噪声密度
output=img;
[width,height]=size(img);
a1=rand(width,height)< d^0.5;
a2=rand(width,height)< d^0.5;
output(a1&a2) = 1; %⽣成盐噪声
mtk刷机工具
b1=rand(width,height)< d^0.5;
窗户的英文
b2=rand(width,height)< d^0.5;
output(b1&b2) = 0; %⽣成胡椒噪声
imshow(output);
%椒盐噪声的密度就是d+d-d*d

本文发布于:2023-07-19 11:59:24,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1087741.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:噪声   添加   密度
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图