合工大图像处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
合肥工业大学数字图象处理实验(刘强)第一章MATLAB简介及图像基本运算
1.编写程序add.m,subtract.m, immultiply.m文件分别实现两幅图像的加,减、乘
2.从矩阵的角度编写程序实现图像的加法运算得到混合图像,然后将混合图像与背景图像做减法运算。
3.编写程序实现图像的局部显示
4.使用subplot函数实现多图像的显示
i=imread('图片3.png');%改成你的图片注意这两张图片的大小要一致,否则会出现X与Y不一样的错误
j=imread('图片3.png');%改成你的图片
k1=imadd(i,j);
subplot(2,2,1),imshow(k1),title('加法运算');
k2=imsubtract(i,j);
subplot(2,2,2),imshow(k2),title('减法运算');
k3=immultiply(i,j);
subplot(2,2,3),imshow(k3),title('乘法运算');
B=zeros(300,300);
B(40:200,40:200)=1;
k4=imsubtract(k1,j);
subplot(2,2,4),imshow(k4),title('先加后减')
B1=uint8(B);
k5=immultiply(k4,B1);
figure,imshow(k5),title('局部显示')
生成图像
实验二图像变换
1.选取一幅图像,编程并实现图像的频率位移,移到窗口中央。
选取一幅图像,进行离散傅里叶变换,再对其进行一定角度的旋转,进行离散傅里叶变换。
I=zeros(256,256);
I(88:168,124:132)=1; %产生图像256*256的图像
J=fft2(I);
F=abs(J);
J1=fftshift(F);subplot(2,2,1),
imshow(J1,[5 50]),title('将原始图形放在中央');
%对原始图像进行旋转
J=imrotate(I,90,'bilinear','crop');
subplot(2,2,2),
imshow(J),title('原始图像旋转90度');
%求旋转后图像的傅里叶频谱
J1=fft2(J);
F=abs(J1);
J2=fftshift(F);subplot(2,2,3),
imshow(J2,[5 50]),title('旋转90度后的频谱图')
生成图像
2.对图像进行离散余弦变换,观察其余弦变换系数及余弦反变换后恢复图像。
第三章图像的灰度运算
1.对一灰度图像,通过选择不同的灰度级变换函数s=T(r)实现图像的灰度范围线性扩展和非线性扩展,以及图像的灰度倒置和二值化。I=imread('图片3.png');
figure;
subplot(2,3,1);
imshow(I);
title('原图');
J=imadjust(I,[0.3;0.6],[0.1;0.9]); %设置灰度变换的范围subplot(2,3,2);
imshow(J);
title('线性扩展');
I1=double(I); %将图像转换为double类型I2=I1/255; %归一化此图像
C=2;
K=C*log(1+I2); %求图像的对数变换subplot(2,3,3);
imshow(K);
title('非线性扩展');
M=im2bw(I,0.5);
M=~M;
%M=255-I; %将此图像取反
%Figure
subplot(2,3,4);
imshow(M);
title('灰度倒置');
N1=im2bw(I,0.4); %将此图像二值化,阈值为0.4 N2=im2bw(I,0.7); %将此图像二值化,阈值为0.7 subplot(2,3,5);
imshow(N1);
title('二值化阈值0.4');
subplot(2,3,6);
imshow(N2);
title('二值化阈值0.7');
生成图像
第四章图像增强
1.选取一幅图像,加入椒盐噪声,分别用均值滤波和中值滤波进行平滑处理,比较滤波效果
I=imread('图片3.png');
J = imnoise(I,'salt & pepper',0.02); %添加椒盐噪声
ave1=fspecial('average',3); %产生3×3的均值模版
%ave2=fspecial('average',5); %产生5×5的均值模版K = filter2(ave1,J)/255; %均值滤波3×3
%M = medfilt2(J,[3 3]); %中值滤波3×3模板
N = medfilt2(J,[4 4]); %中值滤波4×4模板subplot(2,2,1),imshow(I),title('原始图像');
subplot(2,2,2),imshow(J),title('加椒盐噪声');
subplot(2,2,3),imshow(K),title('均值滤波图像');
subplot(2,2,4),imshow(N),title('中值滤波图像');
生成图像
2.选取一幅含高斯噪声图像,用巴特沃斯低通,指数低通和梯形低通处理该图像。
[I,map]= imread('图片3.png');
noisy = imnoise(I,'gaussian',0.01);
imshow(noisy,map) ;
[M N]= size(I);
F= fft2(noisy);
fftshift(F);
Dcut = 100;
D0 = 150;
D1= 250;
for u=1:M
for v=1:N
D(u,v)=sqrt(u^2 + v^2);