合工大图像处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档