1 简介
高斯、椒盐噪声、乘性、运动、泊松图像加噪
2 部分代码
clear all; clc;
newlineInAscii1 = [13 10];
spaceInInAscii = 32;
%
newline = char(newlineInAscii1);
spaceChar = char(spaceInInAscii);
targetFolder = 'images';
sigma = 0.05;
% sigma = 0;
offset = 0.01;
IMG = 'lena.bmp'; % IMG:原始图像
IMG = strcat(targetFolder, '\', IMG);
IMG = imread(IMG);
IMG = rgb2gray(IMG);
plotIndex = 1;
plotRowSize = 3;
plotColSize = 3;
erosionFilterSize = 2;
dilationFilterSize = 2;
mean = 0;
noiseTypeModes = {
'gaussian', % [1]
'salt & pepper', % [2]
'localvar', % [3]
'speckle', % [4] (multiplicative noise)
'poisson', % [5]
'motion blur', % [6]
'erosion', % [7]
'dilation', % [8]
% 'jpg compression blocking effect' % [9]
% [10] Interpolation/ resizing noise <to do>
};
noiseChosen = 1;
noiseTypeChosen = char(noiseTypeModes(noiseChosen));
for i = 1:(plotRowSize*plotColSize)
IMG_aforeUpdated = double(IMG); % 备份以前的状态,以防它被更新。
% 返回噪声参数更新以进一步损坏
% IMG 可能会被更新为下一轮的噪声图像
[IMG, noisyImage, titleStr, sigma, dilationFilterSize, erosionFilterSize] = ...
noisyImageGeneration(IMG, mean, sigma, offset, dilationFilterSize, erosionFilterSize, noiseTypeChosen);
imageQualityIndex_Value = imageQualityIndex(IMG_aforeUpdated, double(noisyImage));
titleStr = [titleStr ',' newline 'IQI: ' num2str(imageQualityIndex_Value)];
imagePlot( noisyImage, plotRowSize, plotColSize, ...
plotIndex, titleStr );
plotIndex = plotIndex + 1;
end
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
3 仿真结果
4 参考文献
[1]王晓凯. 图像椒盐噪声及高斯噪声去噪方法研究. Diss. 复旦大学, 2011.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。