MATLAB数字图像处理练习二

一,题目

一、运用imadjust函数对灰度图像进行亮度变换。
实验内容:
1.得到明暗反转图像;
2.通过线性变换实现灰度级扩展;
3.通过非线性变换实现灰度级扩展。

二、图像去噪
实验内容:

  1. 先对一幅图像添加噪声(如高斯噪声、椒盐噪声等)。然后,分别采用均值滤波、中值滤波这两种方法对其进行平滑,比较各自去噪声的效果和特点。

三、空间域平滑、锐化滤波
1.实验内容
(1) 采用多种平滑滤波器对图像平滑,例如均值滤波、高斯滤波等。
(2) 采用“原图减去低通滤波图像”的方法锐化图像。
(3) 采用“prewitt”、“sobel”等边缘算子增强图像边缘。
2.实验原理
锐化和平滑都是图像增强的重要手段,采用前者可以突出图像的细节,采用平滑可以滤除图像中的噪声,从而达到图像清晰的目的。

四、频域滤波
分别采用理想滤波器和巴特沃斯滤波器对lena图像进行频域低通、高通滤波,并对滤波后的图像进行比较和分析。

二,解答

问题一

%%
%一、运用imadjust函数对灰度图像进行亮度变换
clc
clear
I=imread('Tulips.jpg');%读取该文件夹内名为Tulips.jpg的文件
I=rgb2gray(I);
imshow(I)
%01.得到明暗反转图像
J1=imadjust(I,[0,1],[1,0]);
figure(1)
imshow(J1)
%02.通过线性变换实现灰度级扩展
J2=imadjust(I,[0.5,1],[0,1]);
figure(2)
imshow(J2)

J3=imadjust(I,[0,0.5],[0,1]);
figure(3)
imshow(J3)
%03.通过非线性变换实现灰度级扩展
J4=imadjust(I,[],[],2);%指数扩展
subplot(121);imshow(J4)
J5=imadjust(I,[],[],0.5);%对数扩展
subplot(122);imshow(J5);

MATLAB数字图像处理练习二_第1张图片

问题二

%%
%二、图像去噪
clc
clear
I=rgb2gray(imread('Tulips.jpg'));
subplot(131);imshow(I);title('I')
%01.对一幅图像添加噪声(如高斯噪声、椒盐噪声等)。
J1=imnoise(I,'gaussian',0,0.05);%添加均值为0,方差为0.05的的高斯噪声
subplot(132);imshow(J1);title('J1')
J2=imnoise(I,'salt & pepper',0.05);%添加噪声密度为0.05的椒盐噪声
subplot(133);imshow(J2);title('J2')

MATLAB数字图像处理练习二_第2张图片

%02.滤波处理
%均值滤波
h1=fspecial('average',3);
H11=imfilter(J1,h1);%B = imfilter(A,h),使用多维滤波器h hh对多维数组A AA进行滤波,并在B BB中返回结果。
H12=imfilter(J2,h1);
figure(3)
subplot(121);imshow(H11);title('H11')
subplot(122);imshow(H12);title('H12')

%中值滤波
figure(4)
H21=medfilt2(J1,[5 5]);%中值滤波,5*5模板
H22=medfilt2(J2,[5 5]);
subplot(121);imshow(H21);title('H21')
subplot(122);imshow(H22);title('H22')

MATLAB数字图像处理练习二_第3张图片

MATLAB数字图像处理练习二_第4张图片

题目三

1)

%%
%空间域平滑、锐化滤波
clc
clear
I=rgb2gray(imread('Tulips.jpg'));
subplot(131);imshow(I)
%01采用多种平滑滤波器对图像平滑,例如均值滤波、高斯滤波等
H1=imfilter(I,fspecial('gaussian'));
H2=imfilter(I,fspecial('average'));
subplot(132);imshow(H1)
subplot(133);imshow(H2)

2)

%02采用“原图减去低通滤波图像”的方法锐化图像
K1=1.08*I-H1;
K2=1.08*I-H2;
figure(2)
subplot(121);imshow(K1)
subplot(122);imshow(K2)
L1=imadjust(K1,[0,1],[1,0]);
L2=imadjust(K2,[0,1],[1,0]);
figure(3)
subplot(121);imshow(L1)
subplot(122);imshow(L2)

MATLAB数字图像处理练习二_第5张图片

3)

%02采用“原图减去低通滤波图像”的方法锐化图像
K1=1.08*I-H1;
K2=1.08*I-H2;
figure(2)
subplot(121);imshow(K1)
subplot(122);imshow(K2)
L1=imadjust(K1,[0,1],[1,0]);
L2=imadjust(K2,[0,1],[1,0]);
figure(3)
subplot(121);imshow(L1)
subplot(122);imshow(L2)

%采用“prewitt”、“sobel”等边缘算子增强图像边缘
H3=imfilter(I,fspecial('sobel'));
H4=imfilter(I,fspecial('prewitt'));
figure(4)
subplot(121);imshow(H3);title('H3')
subplot(122);imshow(H4);title('H4')
K3=I+H3;
K4=I+H4;
figure(5)
subplot(121);imshow(K3);title('K3')
subplot(122);imshow(K4);title('K4')

MATLAB数字图像处理练习二_第6张图片
MATLAB数字图像处理练习二_第7张图片

题目四

具体参考:
https://blog.csdn.net/qq_44111805/article/details/126305064
https://blog.csdn.net/qq_44111805/article/details/126314710

%%频域滤波
%理想低通
clc
clear
I=imread('Tulips.jpg');
I_gray=rgb2gray(I);
I2=im2double(I_gray);
M=size(I2,1);%滤波器行数
N=size(I2,2);%滤波器列数
u=-M:(M-1);
v=-N:(N-1);
[U,V]=meshgrid(u,v);%此 MATLAB 函数 基于向量 x 和 y 中包含的坐标返回二维网格坐标。
D=sqrt(U.^2+V.^2);
D0=100;%截止频率
H=double(D<=D0);%理想低通滤波器
J=fftshift(fft2(I2,size(H,1),size(H,2)));%时域图像转换到频域
K=J.*H;%滤波处理
L=ifft2(ifftshift(K));
L=L(1:size(I2,1),1:size(I2,2));
figure;
subplot(121);imshow(I2);
subplot(122);imshow(L);

你可能感兴趣的:(matlab,图像处理,计算机视觉)