当前位置:文档之家› 合工大图像处理

合工大图像处理

合肥工业大学数字图象处理实验(刘强)第一章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; %将此图像取反%Figuresubplot(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:Mfor v=1:ND(u,v)=sqrt(u^2 + v^2);BUTTERH(u,v)=1/(1+ (sqrt(2)-1) * (D(u,v)/Dcut)^ 2);EXPOTH(u,v) = exp(log(1/sqrt(2))*(D(u,v)/Dcut)^2);if D(u,v)<D0TRAPEH(u,v) = 1;elseif D(u,v)<=D1TRAPEH(u,v) =(D(u,v)-D1)/(D0-D1);else TRAPEH(u,v)= 0;endendendBUTTERG=BUTTERH.*F;BUTTERfiltered = ifft2(BUTTERG) ;EXPOTG=EXPOTH.*F;EXPOTGfiltered = ifft2(EXPOTG) ;TRAPEG = TRAPEH.* F;TRAPEfiltered = ifft2(TRAPEG) ;subplot(2,2,1),imshow(noisy);title('高斯噪声');subplot(2,2,2),imshow(BUTTERfiltered,map);title('巴特沃斯低通滤波');subplot(2,2,3),imshow(EXPOTGfiltered,map);title('指数型低通滤波');subplot(2,2,4),imshow(TRAPEfiltered,map);title('梯形低通滤波');生成图像3.选取一幅图像,采用sobel算子,prewitt算子和拉普拉斯算子对图像进行锐化处理I=imread('图片3.png');subplot(2,3,1),imshow(I);title('原图像');%显示原图像H=fspecial('sobel'); %应用sobel算子锐化图像I2=filter2(H,I); %sobel算子滤波锐化subplot(2,3,2);imshow(I2);%显示sobel算子锐化图像title('sobel算子锐化图像');I=double(I);h=[0,1,0,1,-4,1,0,1,0];J=conv2(I,h,'same');%K=I-J;subplot(2,3,3),imshow(J);title('laplace算子锐化图像');I=double(I);h1=[1,0,-1,1,0,-1,1,0,-1];J1=conv2(I,h1,'same');%K=I-J;subplot(2,3,4),imshow(J1);title('prewitt算子锐化图像');生成图像第五章图像分割1.选取一幅图像,用Sobel,Roberts,Prewitt,LOG,Canny算子进行边缘检测,观察效果f=imread('图片3.png');%[gv,t1]=edge(f,'sobel');%使用edge函数对图像f提取垂直的边缘gv=edge(f,'sobel');subplot(2,3,1),imshow(gv);title('sobel算子提取边缘');f=imread('图片3.png');%[gv,t1]=edge(f,'roberts');%使用edge函数对图像f提取垂直的边缘gv=edge(f,'roberts');subplot(2,3,2),imshow(gv);title('roberts算子提取边缘');f=imread('图片3.png');%[gv,t1]=edge(f,'prewitt');%使用edge函数对图像f提取垂直的边缘gv=edge(f,'prewitt');subplot(2,3,3),imshow(gv);title('prewitt算子提取边缘');f=imread('图片3.png');%[gv,t1]=edge(f,'log');%使用edge函数对图像f提取垂直的边缘gv=edge(f,'log');subplot(2,3,4),imshow(gv);title('log算子提取边缘');f=imread('图片3.png');%[gv,t1]=edge(f,'canny');%使用edge函数对图像f提取垂直的边缘gv=edge(f,'canny');subplot(2,3,5),imshow(gv);title('cannny算子提取边缘');. 生成图像'.。

相关主题