如图,数字图像处理期末小测,在线等,急!!求matlab代码!!
发布网友
发布时间:2022-04-26 18:14
我来回答
共1个回答
热心网友
时间:2023-10-20 11:34
%% 这么基本的图像处理问题都不会,上课干啥!!!我就现学现卖了。
%% 2 去雾
% he5.png类似,把下面代码的he2换成he5即可。
he2 = imread('he2.png'); % 读图
HSI = rgb2hsv(he2); %转换到hsi空间
I = HSI(:,:,3); % 获得I分量
Ieq = histeq(I,256); % 直方图均衡化
HSI(:,:,3) = Ieq;
he2eq = hsv2rgb(HSI); % 转换到rgb空间
figure;
subplot(221);imshow(he2); title('he2原图')
subplot(222); imhist(I,256); title('he2原图I分量直方图');
subplot(223); imhist(Ieq,256); title('he2去雾I分量直方图');
subplot(224); imshow(he2eq); title('he2去雾');
%% 3 时域滤波
lena = imread('lena.tif');
lena_noise = imnoise(lena,'salt & pepper',0.05); % 加椒盐噪声
lena_filter = medfilt2(lena_noise,[5,5]); % 中值滤波
cm = imread('cameraman.tif');
cm_noise = imnoise(cm,'gaussian',0,0.003); % 加高斯噪声
h = fspecial('average');
cm_filter = imfilter(cm_noise,h); % 均值滤波
figure;
subplot(231); imshow(lena);title('lena原图');
subplot(232); imshow(lena_noise);title('lena加噪图');
subplot(233); imshow(lena_filter);title('lena去噪');
subplot(234); imshow(cm);title('cameraman原图');
subplot(235); imshow(cm_noise);title('cameraman加噪图');
subplot(236); imshow(cm_filter);title('cameraman去噪');