Matlab图像处理实验指导书Word格式文档下载.docx

上传人:b****3 文档编号:16747812 上传时间:2022-11-25 格式:DOCX 页数:21 大小:22.97KB
下载 相关 举报
Matlab图像处理实验指导书Word格式文档下载.docx_第1页
第1页 / 共21页
Matlab图像处理实验指导书Word格式文档下载.docx_第2页
第2页 / 共21页
Matlab图像处理实验指导书Word格式文档下载.docx_第3页
第3页 / 共21页
Matlab图像处理实验指导书Word格式文档下载.docx_第4页
第4页 / 共21页
Matlab图像处理实验指导书Word格式文档下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

Matlab图像处理实验指导书Word格式文档下载.docx

《Matlab图像处理实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Matlab图像处理实验指导书Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。

Matlab图像处理实验指导书Word格式文档下载.docx

figure,imshow(BW3,'

BW=imread('

circles.tif'

imshow(BW);

figure,imshow(~BW);

figure,imshow(BW,[100;

001]);

B)灰度图像的显示

I=imread('

testpat1.tif'

J=filter2([12;

-1-2],I);

imshow(I)

figure,imshow(J,[])

C)索引图像的显示

loadclown%装载一幅图像

%保存为bmp文件

imshow(X)

imshow(X,map)

D)RGB图像的显示

flowers.tif'

RGB=imread('

figure,imshow(RGB)

imshow(I(:

:

3)%显示第3个颜色分量

E)多帧图像的显示

mri=uint8(zeros(128,128,1,27));

%27帧文件mri.tif初始化

forframe=1:

27

[mri(:

frame),map]=imread('

mri.tif'

frame);

%读入每一帧

end

imshow(mri(:

3),map);

%显示第3帧

figure,imshow(mri(:

6),map);

%显示第6帧

10),map);

%显示第10帧

20),map);

%显示第20帧

F)显示多幅图像

[X1,map1]=imread('

forest.tif'

[X2,map2]=imread('

trees.tif'

subplot(1,2,1),imshow(X1,map1)

subplot(1,2,2),imshow(X2,map2)

subplot(1,2,1),subimage(X1,map1)

subplot(1,2,2),subimage(X2,map2)

三、思考题:

1.图像显示时,若不带参数’notruesize’,显示效果如何?

2.如何显示RGB图像的某一个颜色分量?

3.如何显示多帧图像的所有帧?

如何根据多帧图像创建电影片段?

实验二图像运算

1.熟悉图像点运算和代数运算的实现方法

2.了解图像几何运算的简单应用

3.了解图像的邻域操作

1.图像点运算

读入图像‘rice.tif’,通过图像点运算改变对比度。

rice=imread('

rice.tif'

subplot(131),imshow(rice)

I=double(rice);

%转换为双精度类型

J=I*0.43+60;

rice2=uint8(J);

%转换为uint8

subplot(132),imshow(rice2)

J=I*1.5-60;

rice3=uint8(J);

subplot(133),imshow(rice3)

2.图像的代数运算

A)图像加法运算

J=imread('

cameraman.tif'

figure,imshow(J)

K=imadd(I,J);

figure,imshow(K)

K2=imadd(I,J,'

uint16'

figure,imshow(K2,[])

RGB2=imadd(RGB,50);

imshow(RGB)

figure,imshow(RGB2)

RGB3=imadd(RGB,100);

figure,imshow(RGB3)

B)图像减法运算

background=imopen(I,strel('

disk'

15));

%估计背景图像

figure,imshow(background);

I2=imsubtract(I,background);

%从原始图像中减去背景图像

figure,imshow(I2)

C)图像乘法运算

moon.tif'

J=immultiply(I,1.2);

K=immultiply(I,0.5);

D)*图像除法运算

3.图像的几何运算

A)改变图像的大小

读入图像‘ic.tif’,改变图像大小,分别将原图像放大1.5倍和缩小0.5倍。

ic.tif'

J=imresize(I,1.25);

K=imresize(I,0.8);

Y=imresize(I,[100,150]);

figure,imshow(Y)

B)旋转一幅图像

将上述图像顺时针和逆时针旋转任意角度,观察显示效果。

J=imrotate(I,30,'

bilinear'

J1=imrotate(I,30,'

crop'

figure,imshow(J1)

J2=imrotate(I,-15,'

figure,imshow(J2)

C)图像剪切

通过交互式操作,从一幅图像中剪切一个矩形区域。

imshow(I);

I1=imcrop;

figure,imshow(I1)

I2=imcrop(I,[3060120160]);

figure,imshow(I2)

4.*图像的邻域操作

读入图像‘tire.tif’,分别使用函数nlfilter和blkproc对图像进行滑动邻域操作和分离邻域操作。

tire.tif'

f=inline('

max(x(:

))'

%构造复合函数

I2=nlfilter(I,[33],f);

%滑动邻域操作

uint8(round(mean2(x)*ones(size(x))))'

%构造复合函数

I2=blkproc(I,[88],f);

实验三图像变换与滤波器设计

1.了解傅立叶变换、离散余弦变换及Radon变换在图像处理中的应用

2.了解Matlab线性滤波器的设计方法

1.傅立叶变换

A)绘制一个二值图像矩阵,并将其傅立叶函数可视化。

f=zeros(30,30);

f(5:

24,13:

17)=1;

imshow(f,'

F=fft2(f);

F2=log(abs(F));

figure,imshow(F2,[-15],'

colormap(jet);

F=fft2(f,256,256);

%零填充为256×

256矩阵

figure,imshow(log(abs(F)),[-15],'

F2=fftshift(F);

%将图像频谱中心由矩阵原点移至矩阵中心

figure,imshow(log(abs(F2)),[-15],'

B)利用傅立叶变换分析两幅图像的相关性,定位图像特征。

读入图像‘text.tif’,抽取其中的字母‘a’。

bw=imread('

text.tif'

a=bw(59:

71,81:

91);

imshow(bw);

figure,imshow(a);

C=real(ifft2(fft2(bw).*fft2(rot90(a,2),256,256)));

%求相关性

figure,imshow(C,[]);

thresh=max(C(:

));

figure,imshow(C>

thresh-10)

thresh-15)

2.离散余弦变换(DCT)

A)使用dct2对图像‘autumn.tif’进行DCT变换。

autumn.tif'

I=rgb2gray(RGB);

%转换为灰度图像

figure,imshow(I)

J=dct2(I);

figure,imshow(log(abs(J)),[]),colormap(jet(64));

colorbar;

B)将上述DCT变换结果中绝对值小于10的系数舍弃,使用idct2重构图像并与原图像比较。

%转换为灰度图像

K=idct2(J);

figure,imshow(K,[0255])

J(abs(J)<

10)=0;

%舍弃系数

K2=idct2(J);

figure,imshow(K2,[0255])

C)利用DCT变换进行图像压缩。

I=im2double(I);

T=dctmtx(8);

B=blkproc(I,[8,8],'

P1*x*P2'

T,T'

mask=[11110000

11100000

11000000

10000000

00000000

00000000];

B2=blkproc(B,[88],'

P1.*x'

mask);

I2=blkproc(B2,[88],'

T'

T);

3.Radon变换

使用Radon逆变换重建图像。

P=phantom(256);

%创建256灰度级大脑图

imshow(P)

theta1=0:

10:

170;

[R1,xp]=radon(P,theta1);

%18个投影

theta2=0:

5:

175;

[R2,xp]=radon(P,theta2);

%36个投影

theta3=0:

178;

[R3,xp]=radon(P,theta3);

%90个投影

figure,imagesc(theta3,xp,R3);

colormap(hot);

colorbar

%使用逆变换重构图像

I1=iradon(R1,10);

%用R1重构图像

I2=iradon(R2,5);

%用R2重构图像

I3=iradon(R3,2);

%用R3重构图像

figure,imshow(I3)

4.*Matlab线形滤波器设计

采用频率变换方式,通过一维最优波纹FIR滤波器创建二维FIR滤波器(p96)。

b=remez(10,[00.40.61],[1100]);

%阶次,频率向量,对应的理想幅频响应

h=ftrans2(b);

[H,w]=freqz(b,1,64,'

whole'

colormap(jet(64))

plot(w/pi-1,fftshift(abs(H)));

%使x轴取值0处对应曲线中心

figure,freqz2(h,[3232])

实验四形态学操作与空间变换

1.了解膨胀和腐蚀的Matlab实现方法

2.掌握图像膨胀、腐蚀、开启、闭合等形态学操作函数的使用方法

3.了解二进制图像的形态学应用

4.了解空间变换函数及图像匹配方法

1.图像膨胀

A)对包含矩形对象的二进制图像进行膨胀操作。

BW=zeros(9,10);

BW(4:

6,4:

7)=1;

imshow(BW,'

se=strel('

square'

3);

%正方形结构元素

BW2=imdilate(BW,se);

B)改变上述结构元素类型(如:

line,diamond,disk等),重新进行膨胀操作。

C)对图像‘text.tif’进行上述操作,观察不同结构元素膨胀的效果。

BW3=imread('

imshow(BW3)

se2=strel('

line'

11,90);

%线型结构元素

BW4=imdilate(BW3,se2);

figure,imshow(BW4)

2.图像腐蚀

A)对图像‘circbw.tif’进行腐蚀操作。

BW1=imread('

circbw.tif'

arbitrary'

eye(5));

BW2=imerode(BW1,se);

imshow(BW1)

figure,imshow(BW2)

B)对图像‘text.tif’进行腐蚀操作。

BW2=imerode(BW3,se);

imshow(BW)

3.膨胀与腐蚀的综合使用

A)从原始图像‘circbw.tif’中删除电流线,仅保留芯片对象。

方法一:

先腐蚀(imerode),再膨胀(imdilate);

rectangle'

[4030]);

%选择适当大小的矩形结构元素

%先腐蚀,删除较细的直线

BW3=imdilate(BW2,se);

%再膨胀,恢复矩形的大小

figure,imshow(BW3)

方法二:

使用形态开启函数(imopen)。

BW2=imopen(BW1,se);

%开启操作

B)改变结构元素的大小,重新进行开启操作,观察处理结果。

se=strel(‘rectangle’,[2010]);

se=strel(‘rectangle’,[5040]);

C)置结构元素大小为[43],同时观察形态开启(imopen)与闭合(imclose)的效果,总结形态开启与闭合在图像处理中的作用。

[43]);

I1=imopen(I,se);

I2=imclose(I,se);

%闭合操作

4.*高帽与低帽变换

A)读入图像‘pearlite.tif’,分别显示其高帽变换与低帽变换结果,并与原图像比较。

(设se=strel('

5);

)。

pearlite.tif'

subplot(221),imshow(I)

J=imtophat(I,se);

subplot(222),imshow(J)

K=imbothat(I,se);

subplot(223),imshow(K)

L=imsubtract(imadd(J,I),K);

subplot(224),imshow(L)

B)要求显示在一个窗口中。

5.图像极值的处理方法

A)对于下图所示的图像矩阵A,利用函数imregionalmax寻找其局部极大值

A=[10101010101010101010;

10131313101011101110;

10131313101010111010;

10101010101010101010;

10111010101818181010;

10101011101818181010;

10101110101818181010;

10111011101010101010;

10101010101011101010];

B=imregionalmax(A)

B)利用函数imextendedmax寻找像素值大于其邻域像素值2个单位的局部极大值。

C=imextendedmax(A,2)

6.*创建一幅图像,求其距离矩阵。

bw=zeros(5,5);

bw(2,2)=1;

bw(4,4)=1;

D=bwdist(bw)

center1=-10;

center2=-center1;

dist=sqrt(2*(2*center1)^2);

radius=dist/2*1.4;

lims=[floor(center1-1.2*radius)ceil(center2+1.2*radius)];

[x,y]=meshgrid(lims

(1):

lims

(2));

bw1=sqrt((x-center1).^2+(y-center2).^2)<

=radius;

bw2=sqrt((x-center2).^2+(y-center2).^2)<

bw1=sqrt((x-center1).^2+(y-center1).^2)<

bw=bw1|bw2;

imshow(bw)

D=bwdist(bw);

figure,imshow(D,[])

D1=bwdist(~bw);

figure,imshow(D1,[])

7.*使用伪彩色显示标记矩阵。

BW=[00000000;

01100111;

01100011;

01100000;

00011000;

00000000]

X=bwlabel(BW,4)

RGB=label2rgb(X,@jet,'

k'

imshow(RGB,'

8.利用选择控制点实现图像匹配。

Matlab图像匹配的步骤:

将标准图像和待匹配图像读入Matlab;

指定图像中的控制点对并保存;

使用互相关性进一步协调控制点对(可选);

制定所需变换类型并根据控制点对推断变换参数;

变换未匹配的图像。

%读入待匹配图像和标准图像

unregistered=imread('

westconcordaerial.png'

imshow(unregistered)

orthophoto=imread('

westconcordorthophoto.png'

figure,imshow(orthophoto)

%选择图像中对应的控制点

cpselect(unregistered(:

1),orthophoto)

%保存控制点对

input_points

base_points

%使用相关性进一步协调控制点对

input_points_corr=cpcorr(input_points,base_points,unregistered(:

1),orthophoto);

input_points_corr

%根据控制点对推断空间变换参数

mytform=cp2tform(input_points,base_points,'

projective'

%变换未匹配的图像

registered=imtransform(unregistered,mytform);

figure,imshow(registered)

实验五图像增强与复原

一、实验目的:

1.了解灰度变换增强和空域滤波增强的Matlab实现方法

2.掌握直方图灰度变换方法

3.掌握噪声模拟和图像滤波函数的使用方法

4.了解图像复原的Matlab实现方法

1.灰度变换增强

A)线段上像素灰度分布

读入灰度图像‘debye1.tif’,采用交互式操作,用improfile绘制一条线段的灰度值。

imshow('

debye1.tif'

improfile

读入RGB图像‘flowers.tif’,显示所选线段上红、绿、蓝颜色分量的分布

B)直方图变换

<

i>

直方图显示

读入图像‘rice.tif’,在一个窗口中显示灰度级n=64,128和256的图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1