合工大图像处理Word文档格式.docx
《合工大图像处理Word文档格式.docx》由会员分享,可在线阅读,更多相关《合工大图像处理Word文档格式.docx(10页珍藏版)》请在冰点文库上搜索。
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,[550]),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,[550]),title('
旋转90度后的频谱图'
2.对图像进行离散余弦变换,观察其余弦变换系数及余弦反变换后恢复图像。
第三章图像的灰度运算
1.对一灰度图像,通过选择不同的灰度级变换函数s=T(r)实现图像的灰度范围线性扩展和非线性扩展,以及图像的灰度倒置和二值化。
I=imread('
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);
线性扩展'
I1=double(I);
%将图像转换为double类型
I2=I1/255;
%归一化此图像
C=2;
K=C*log(1+I2);
%求图像的对数变换
subplot(2,3,3);
imshow(K);
非线性扩展'
M=im2bw(I,0.5);
M=~M;
%M=255-I;
%将此图像取反
%Figure
subplot(2,3,4);
imshow(M);
灰度倒置'
N1=im2bw(I,0.4);
%将此图像二值化,阈值为0.4
N2=im2bw(I,0.7);
%将此图像二值化,阈值为0.7
subplot(2,3,5);
imshow(N1);
二值化阈值0.4'
subplot(2,3,6);
imshow(N2);
二值化阈值0.7'
第四章图像增强
1.选取一幅图像,加入椒盐噪声,分别用均值滤波和中值滤波进行平滑处理,比较滤波效果
J=imnoise(I,'
salt&
pepper'
0.02);
%添加椒盐噪声
ave1=fspecial('
average'
3);
%产生3×
3的均值模版
%ave2=fspecial('
5);
%产生5×
5的均值模版
K=filter2(ave1,J)/255;
%均值滤波3×
3
%M=medfilt2(J,[33]);
%中值滤波3×
3模板
N=medfilt2(J,[44]);
%中值滤波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('
noisy=imnoise(I,'
gaussian'
0.01);
imshow(noisy,map);
[MN]=size(I);
F=fft2(noisy);
fftshift(F);
Dcut=100;
D0=150;
D1=250;
foru=1:
M
forv=1:
N
D(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);
ifD(u,v)<
D0
TRAPEH(u,v)=1;
elseifD(u,v)<
=D1
TRAPEH(u,v)=(D(u,v)-D1)/(D0-D1);
elseTRAPEH(u,v)=0;
end
BUTTERG=BUTTERH.*F;
BUTTERfiltered=ifft2(BUTTERG);
EXPOTG=EXPOTH.*F;
EXPOTGfiltered=ifft2(EXPOTG);
TRAPEG=TRAPEH.*F;
TRAPEfiltered=ifft2(TRAPEG);
subplot(2,2,1),imshow(noisy);
高斯噪声'
subplot(2,2,2),imshow(BUTTERfiltered,map);
巴特沃斯低通滤波'
subplot(2,2,3),imshow(EXPOTGfiltered,map);
指数型低通滤波'
subplot(2,2,4),imshow(TRAPEfiltered,map);
梯形低通滤波'
3.选取一幅图像,采用sobel算子,prewitt算子和拉普拉斯算子对图像进行锐化处理
subplot(2,3,1),imshow(I);
原图像'
%显示原图像
H=fspecial('
sobel'
%应用sobel算子锐化图像
I2=filter2(H,I);
%sobel算子滤波锐化
imshow(I2);
%显示sobel算子锐化图像
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);
laplace算子锐化图像'
h1=[1,0,-1,1,0,-1,1,0,-1];
J1=conv2(I,h1,'
subplot(2,3,4),imshow(J1);
prewitt算子锐化图像'
第五章图像分割
1.选取一幅图像,用Sobel,Roberts,Prewitt,LOG,Canny算子进行边缘检测,观察效果
f=imread('
%[gv,t1]=edge(f,'
%使用edge函数对图像f提取垂直的边缘
gv=edge(f,'
subplot(2,3,1),imshow(gv);
sobel算子提取边缘'
roberts'
subplot(2,3,2),imshow(gv);
roberts算子提取边缘'
prewitt'
subplot(2,3,3),imshow(gv);
prewitt算子提取边缘'
log'
subplot(2,3,4),imshow(gv);
log算子提取边缘'
canny'
subplot(2,3,5),imshow(gv);
cannny算子提取边缘'
生成图像