MATLAB:增加噪声,同时多次叠加噪声图和原图以及求平均图像(imnoise,imadd函数)

本次涉及了对原图像增加高斯噪声、多次叠加原图和高斯噪声图以及叠加后的平均图像。

close all;                          %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量
clear all;
clc;
RGB=imread('eight.tif');            %读入eight图像,赋值给RGB
A=imnoise(RGB,'gaussian',0,0.05);    %加入高斯白噪声
I=A;                                %将A赋值给I
M=3;                                %设置叠叠加次数M
I=im2double(I);                     %将I数据类型转换成双精度
RGB=im2double(RGB);
for i=1:M
   I=imadd(I,RGB);                  %对用原图像与带噪声图像进行多次叠加,结果返回给I
end
avg_A=I/(M+1);                      %求叠加的平均图像 
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])%修改图形背景颜色的设置
subplot(131);imshow(RGB);   %显示RGB原图
subplot(132); imshow(A);   %显示加入高斯噪声后的图像
subplot(133); imshow(avg_A);    %显示加入乘性噪声后的图像

  效果图如下:

 

posted @ 2017-05-10 13:54  橙子牛奶糖  阅读(4628)  评论(0编辑  收藏  举报