Matlab图像处理实验指导书_第1页
Matlab图像处理实验指导书_第2页
Matlab图像处理实验指导书_第3页
Matlab图像处理实验指导书_第4页
Matlab图像处理实验指导书_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

⑤电占树或土学

生命科学与技术学院缈字圈像魄

ft51课程介韶e密队伍谍卅侬弧M上教学学习M地fttthfl在线弄或MMWHaM;

上教学

试验一、亶方图处理与模板运算

K试验内容

B!字图像试改

内容I:打开lenna.bmp图较:

<1>指出丈类型;

<2阑命名为lcmul.bmp;

<3>显示出直方图:

(4)显示出我以SL方图;

O试收教材

<5>显示出口方图均狗拈果:

<6>ilJ?负图.保存为knnanjpB

内容2i打开图象knnanoise】.bmp।

<I>川均值滤波其对其进行平滑处理:

◊试验条件

(2)选杼不同尺寸的卷积核,会石丸对结果的影响,

<3>对半猾E的图像执行直方图均衡.百希其对结果的影响.

<4>傲习埋3.1K

O试验内容

内容3i

孤介空间增加法是种疗效的方法,比单独采纳其中任一种方法产生的效%好.现有图侬pouLbmp.耳边缘及对比度哎很箜.请设计种算法加以堵加.留意各种方法组合的•

2、基本原理

(1)直方图与累积直方用

◊试验报告

直方图:直方图是灰度敏的函数.描述的是图像中具仃谤灰度报的象素的个数:横坐标是灰度级.级坐标是该灰度出现的痂率(靠素的个数).用公式可表示为:,其中表示某

示图像中式有灰度级俄象索的个数;其规一化就是概率变度沿效(PDF>;.为灰度级数〃

i®累”!”方图系小于荒个我班级的少.米个出,,K块•化林是SR机分布由数-CDP).

(直方图均衡

案念做学课件2)

直力图均循是枯修输出图愎的邮一次度级郁方相同的象索点(即输出的六方图是平的)而进打的次怎级变换,共攵换的圾就是其CDF,

均收状况的实现步骤为:

u.计算输入图愎的CDF

b.用山最大灰收他乘以CDF

c.对结果b进行fit化

囚为这是近似实现,谙钿意偷出图像的H方图的特点,

(3)领域处理

W处理是空向泄波的龙眼.是一个被称为掩模、核、模板成腐口的子图像在带处理图像中逐点移动,在俗一点处,立波器在谖点的晌应通过事先定义的关系计算,如I

格出图像在形标的位计算为:

3、相关的MntMh的数

imrcad>imwritc:图像ij”

iminfu:图像俏思

itnshow;图t8■显示

imhiM:图f«rt力图

histeq:15方图均淅

fspcvial.产生卷枳注液县

conv2:二维卷以沌波

majlgray:将矩阵找换为图像

im2doubk:将图像附倏为瓶精度类梨

试脸二、图像空间域复原

1.成验内容

内容I:"开hruin.bmpfli:

(I)估计喉声(提示:曲图像中的味声收认为是Gaussian的.先选挣个步气好区域.然后估计它的均饮和力举.见Bp.182),

(2)选界和破适力的滤波;》进行/彼.井格站禺保存为debeinjpg:井说明你送抵的理由.

内容2:打开图惨皿1©修时其滓扣喋出亮度为0.25的sail&PCPPC,用自适应中值戕波状<7*7)进行浊波

2.基本原理

u)估计嗫声

估计噪声的方法很£,这里多者他方法是教材p.182提示的方法.即।选择

一个淳爱好区域.然后的计它的均值和方若.

书中外举了很多整再空向谑波潺:均值能波器(算术均饮、几何均值、谐波均彼和逆谐波均值)和依次统计沌器(中值.Q大版小.中点和愫正后的阿尔法均值).而对于含

声的mri图像运用谐液均值般好.

b)自适应中值益波器:参考教材P192)

3、相关的Matlab函数

fspecial:产生彼波器

imfiltcr:图像谑波

filtcrZi一维注液

mean:均值

median;中值

max:最大值

min:址小仙

imnoisc:添加噪声

medfiltl::维中值滤波

试验三、几何变换

I、试验内容

内容:编写用双线性拓法进行几何变换的函数:

out=TranLincar(

In."输入图像

xx.〃x方F,j缩放比例

sy.//y方向%放比例

ika”疾胃带反

、,yj埠放票点

2、菱本原理

1)插值

插值:确定*将故他将象东俏的过理.如下图所示.处的(A用插值来求.实义Z)法采纳逆映射.

最近空域据依:用出象索的次次做等r禹它所映射到的位置最近的构入图像的矢度值.加上图.假如点离最近.则.该方法的特点是速咬快.但结果图像帝行乐的边.

广泛应用的是双或性筠n.如上图,求的的过程如F:

b)几何交换

I)、简洁平移:输出=输入

2)、冏洁解SG输出・输入

3)、简沽族将:输出=饰入

4)、酰基准总的缩放=平移(+)*邹故x平移(->,即:

输出=辎入

5)、统基准点的旋转=平移(+)x旋转x平移(->.即,

怆出,构入

3、相关的Matlab函数

1FORM:上间变换结枝体

immukcform:建立空问史换结构体

imtransform:空间变帙

imrcsi/c:变更图像大小

involute)图像旋转

imcrop:图像剪切

试的四、同值分割及形态学处理

I、试验内容

内容《整法设计》।打开head上皿图像,请你实现种算法以去睑脑的外围推银,如图也皿皿.提示;

⑴进行闽值分割3的:

(2)选抨适当大小的核对(1)的结果进行开运电.

对<2>的结果进仁依大连通成分提取.

(4)将结果(3)与臊图迂行与运修可得城姥结果.

2、基本原理

为了提取大脑,视察VRI脑图可以U出它由•个玳要的将征,如卜图,就兄大脑与它四冏的组织之向是由低亮度的剂小的站构正接起来的,似如格这些连接厮开,并构设大脑

成份.和么用设大连通成分分析就可分别出大脑.

其北小步骤可微指为:

(I)进行/值分割(p.485>,

(2)遇推动当大小的核对(I)的结果进行开运算.

(3)对(2)的结果进行地大连通成分提取.

(4)柑结果(3)b麽图进行与运罚刈都最终结果.

在达林法中所果地的主要算法有:

»)摸索法蟠位选挣算法

I.释一个T的初始估计值

2.分割图僮.这杵低仑生成两殂量意:GI由全部灰度但大TT的象点殂成.而G2由全部灰度也小于或等TT的象率沮成

3.对区域GI和G2中的全部股G计算平均灰度值ml和m2

4.计咏新的陶值:T=(ml+ni2>12

5、,R复步9?2到&直到逐次迭代所留的T伙之经小于不先定义的映龙.

b)影态学开运算

形态学开运算般是对《的轮席变得光滑.断开狭右的问斯和消退知的突出

构.本试版的II标是去馀大脑的外国坦根,米纳开运口是合理的,就是止它去:中大脑与外国组艰何的细小连接,用点的地方是核的大小选择.

O最大连通成分分析

二值图像中连通成份分析陶用是自动图像分析中的核心任务.教材P435介

绍了连通成份的提取眸法,那么什么是*4大连通成份分析我?*实上取全部连通成份中象东奴乡的连通成份作为输出状是*4大连通成冲分析,因为我们假设大嘛是其中的城大连W

于开运算的结果要采纳C大连通成分分析,潼去掉了外团拆织.

3、相关的MatlnbmJK

graythrcsh:计算阈值

im2bw:闷也分割

imcrodc:形态学.腐蚀

inxi>hte:形态学膨IK

imopcn:形态学开运算

inKlosci形点半闭运。

bwtibeh连通成份分析

CepyhRhi©电什I技秣校生命科学用技术?玩版权全〃All阳划sRzrvW

蜡拉利作,生命H学♦技术学底《;总中心PowHBy冰点火焰

《Matlab应用图像处理》课程

实验指导书

电气工程学院•生物医学工程系

2006年11月

试验一Matlab图像显示方法

一、试验目的

1.了解Matlab的基本功能及操作方法

2.练习图像读写和显示函数的运用方法

3.驾驭Matlab支持的五类图像的显示方法

二、试验内容

1.图像的读写

A)图像读

RGB=imread('ngc6543a.jpg');

B)图像写

先从一个.mat文件中载入一幅图像,然后利用图像写函数imwrite,创建一个.bmp

文件,并将图像存入其中。

loadclown

whos

imwrite(X,map,'clown,bmp')

C)图像文件格式转换

bitmap=imread('clown.bmp'/bmp');

imwrite(bitmap,'clown,png'/png');

2.图像显示

A)二进制图像的显示

BWl=zeros(20,20);%创建仅包含0/1的双精度图像

BW1(2:2:18,2:2:18)=1;

imshow(BWl/notruesize');

whos

BW2=uint8(BWl);

figurezimshow(BW2/notruesize')

BW3=BW2~=0;%逻辑标记置为on

figure,imshow(BW3,'notruesize')

whos

BW=imread('circles.tif');

imshow(BW);

figure,imshow(~BW);

figure,imshow(BWz[l00;001]);

B)灰度图像的显小

I=imread('testpatl.tif');

J=filter2([l2;-l-2],I);

imshow(I)

figure,imshow(Jz[])

C)索引图像的显示

loadclown%装载一幅图像

imwrite(X,map,'clown.bmp');%俣存为bmp文件

imshow(X)

imshow(X,map)

D)RGB图像的显示

I=imread('flowers.tif');

imshow(I)

RGB=imread('ngc6543a.jpg');

figure,imshow(RGB)

imshow(I(:,:,3)%显示第3个颜色重量

E)多帧图像的显示

mri=uint8(zeros(128,128,1,27));%27帧文件mri.tif初始化

forframe=l:27

,,

[mri(:z:z:zframe),map]=imread(mri.tifzframe);%读入每一帧

end

imshow(mri(:z:z:z3),map);%显示第3帧

figurezimshow(mri(:z:z:z6)zmap);%显示第6帧

figure,imshow(mri(:,:,:z10),map);%显示第10帧

figurezimshow(mri(:,:z:z20),map);%显示第20帧

F)显示多幅图像

[Xlzmapl]=imread('forest.tif');

,

[X2zmap2]=imread('trees.tif);

subplot(l,2,l)fimshow(Xlzmapl)

subplot(l,2,2)Jmshow(X2zmap2)

subplot(l,2zl)rsubimage(Xlzmapl)

subplot(l,2,2)rsubimage(X2,map2)

三、思索题:

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

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

3.如何显示多帧图像的全部帧?如何依据多帧图像创建电影片段?

试验二图像运算

一、试验目的

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

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

3.了解图像的邻域操作

二、试验内容

1.图像点运算

读入图像Fce.lif,,通过图像点运算变更对比度。

rice=imread('rice.tif,);

subplot(131),imshow(rice)

I=double(rice);%转换为双精度类型

3=1*0.43+60;

rice2=uint8(J);%)转换为uint8

subplot(132)zimshow(rice2)

J=I*1.5-60;

rice3=uint8(J);%转换为uint8

subplot(133)zimshow(rice3)

2.图像的代数运算

A)图像加法运算

^imreadCrice.tif');

imshow(I)

J=imread('cameraman.tif');

figure,imshow(J)

K=imadd(IJ);

figure,imshow(K)

K2=imadd(IzJ/uintl6');

figure,imshow(K2,[])

RGB=imread('flowers.tif');

RGB2=imadd(RGB,50);

imshow(RGB)

figure,imshow(RGB2)

RGB3=imadd(RGB,100);

figurezimshow(RGB3)

B)图像减法运算

I=imread('rice.tif');

imshow(I)

,

background=imopen(Izstrel('disk,15));%估计背景图像

figure,imshow(background);

I2=imsubtract(Izbackground);%从原始图像中减去背景图像

figure,imshow(I2)

C)图像乘法运算

I=imread('moon.tif,);

J=immultiply(Izl-2);

K=immultiply(I,0.5);

imshow(I)

figure,imshow(J)

figure,imshow(K)

D)*图像除法运算

3.图像的几何运算

A)变更图像的大小

读入图像'ic.tif、变更图像大小,分别将原图像放大1.5倍和缩小0.5倍。

J=imresize(I,1.25);

K=imresize(I,0.8);

imshow(I)

figure,imshow(J)

figure,imshow(K)

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

figureJmshow(Y)

B)旋转一幅图像

将上述图像顺时针却逆时针旋转随意角度,视察显示效果。

I=imread('ic.tif');

J=imrotate(Iz30,'bilinear');

Jl=imrotate(Iz30z'bilinear7crop');

imshow(I)

figure,imshow(J)

figure,imshow(Jl)

J2=imrotate(I/-15z'bilinear');

figure,imshow(J2)

C)图像剪切

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

I=imread('ic.tif');

imshow(I);

U=imcrop;

figure,imshow(U)

I2=imcrop(I,[3060120160]);

figure,imshow(I2)

4.*图像的邻域操作

读入图像Yire.tif',分别运用函数nlfilter和blkproc对图像进行滑动邻域操作和分

别邻域操作。

I=imread('tire.tif');

f=inline(,max(x(:))^);%构造复合函数

I2=nlfilter(Iz[33],f);%滑动邻域操作

imshow(I)

figure,imshow(I2)

f=inline('uint8(round(mean2(x)*ones(size(x))))');%构造复合函数

I2=blkproc(I,[88],f);%滑动邻域操作

imshow(I)

figure,imshow(I2)

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

一、试验目的

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

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

二、试验内容

1.傅立叶变换

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

f=zeros(30,30);

f(5:24,13:17)=l;

,,

imshow(fznotruesize)

F=fft2(f);

F2=log(abs(F));

figure,imshow(F2,[-l5]/notruesize');colormap(jet);

F=fft2(f,256,256);%零填充为256X256矩阵

figurezimshow(log(abs(F))z[-l5],'notruesize');colormap(jet);

F2=fftshift(F);%将图像频谱中心由矩阵原点移至矩阵中心

figure,imshow(log(abs(F2)),[-l5]/notruesize');colormap(jet);

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

抽取其中的字母W

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)

figure,imshow(C>thresh-15)

2.离散余弦变换(DCT)

A)运用dct2对图像'autumn.tif'进行DCT变换。

RGB=imread('autumn.tif');

imshow(RGB)

I=rgb2gray(RGB);%转换为灰度图像

figure,imshow(I)

J=dct2(I);

figure,imshow(log(abs(J))z[])zcolormap(jet(64));colorbar;

B)将上述DCT变换结果中肯定值小于10的系数舍弃,运用idct2重构图像并

与原图像比较。

RGB=imread('autumn.tif');

I=rgb2gray(RGB);%转换为灰度图像

J=dct2(I);

figure,imshow(I)

K=idct2(J);

figure,imshow(K,[0255])

J(abs(J)<10)=0;%舍弃系数

K2=idct2(J);

figure,imshow(K2,[0255])

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

I=imread('cameraman.tif');

I=im2double(I);

T=dctmtx(8);

,*,

B=blkproc(I,[8z8]zPl*x*P2/T,T);

mask=[l1110000

11100000

11000000

10000000

00000000

00000000

00000000

00000000];

B2=blkproc(B,[88]/Pl.*x*zmask);

,,

I2=blkproc(B2,[88],Pl*x*P2'/T,T);

imshow(I)

figure,imshow(I2)

3.Radon变换

运用Radon逆变换重建图像。

P=phantom(256);%创建256灰度级大脑图

imshow(P)

theta1=0:10:170;[Rlzxp]=radon(P,theta1);%18个投影

theta2=0:5:175;[R2,xp]=radon(P,theta2);%36个投影

theta3=0:2:178;[R3zxp]=radon(Pztheta3);%90个投影

figure,imagesc(theta3zxp,R3);colormap(hot);colorbar

%运用逆变换重构图像

Il=iradon(Rl,10);%用RI重构图像

I2=iradon(R2,5);%用R2重构图像

I3=iradon(R3,2);%用R3重构图像

figure,imshow(U)

figure,imshow(I2)

figure,imshow(I3)

4.*Matlab线形滤波器设计

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

b=remez(10,[00.40.6l]z[l100]);%阶次,频率向量,对应的志向

幅频响应

h=ftrans2(b);

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

colormap(jet(64))

plotfw/pi-l/ftshiftfabsCH)));%使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/notruesize')

se=strel('square'z3);%正方形结构元素

BW2=imdilate(BW,se);

figurezimshow(BW2/notruesize')

B)变更上述结构元素类型(如:line,diamond,disk等),重新进行膨胀操作。

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

BW3=imread('text.tif');

imshow(BW3)

se2=strel('line\llz90);%线型结构元素

BW4=imdilate(BW3,se2);

figure,imshow(BW4)

2.图像腐蚀

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

BWl=imread('circbw.tif,);

se=strel('arbitrary'zeye(5));

BW2=imerode(BWlzse);

imshow(BWl)

figure,imshow(BW2)

B)对图像'textJif'进行腐蚀操作。

BW=imread('text.tif,);

,

se=strel('linezllz90);

BW2=imerode(BW3,se);

imshow(BW)

figure,imshow(BW2)

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

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

方法一:先腐蚀(imerode),再膨胀(imdilate);

BWl=imread('circbw.tif');

imshow(BWl)

se=strel('rectangle'z[4O30]);%选择适当大小的矩形结构元素

BW2=imerode(BWlzse);%先腐蚀,删除较细的直线

figure,imshow(BW2)

BW3=imdilate(BW2zse);%再膨胀,复原矩形的大小

figure,imshow(BW3)

方法二:运用形态开启函数(imopen)。

BW1=imreadCcircbw.tif');

imshow(BWl)

,

se=strel(rectangle'/[4030]);

BW2=imopen(BWl,se);%>开启操作

figure,imshow(BW2)

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

z

se=strel('rectanglez[2010]);

,

se=strel('rectanglez[5040]);

C)置结构元素大小为[43],同时视察形态开启(imopen)与闭合(imclose)的效果,

总结形态开启与闭合在图像处理中的作用。

^imreadCcircbw.tif');

imshow(I)

,

se=strel('rectanglez[43]);

U=imopen(I,se);%开启操作

I2=imclose(I,se);%闭合操作

figure,imshow(U)

figure,imshow(I2)

4.*高帽与低帽变换

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

比较。(设se二strel('disk',5);)。

I=imread('pearlite.tif');

subplot(221),imshow(I)

se=strel('disk'/5);

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;

10131313101011101110;

10101010101010101010;

10111010101818181010;

10101011101818181010;

10101110101818181010;

10111011101010101010;

10101010101011101010];

B=imregionalmax(A)

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

值。

C=imextendedmax(A,2)

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

bw=zeros(5z5);

bw(2,2)=l;bw(4,4)=l;

D=bwdist(bw)

centerl=-10;

center2="centerl;

dist=sqrt(2*(2*centerl)A2);

radius=dist/2*1.4;

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

[xzy]=meshgrid(lims(l):lims(2));

bwl-sqrt((x-centerl).^2+(y-center2).^2)<-radius;

bw2=sqrt((x-center2),A2+(y-center2).A2)<=radius;

bwl=sqrt((x-centerl).A2+(y-centerl).A2)<=radius;

bw=bwl|bw2;

imshow(bw)

D=bwdist(bw);

figure,imshow(D,[])

Dl=bwdist(~bw);

figure,imshow(Dlz[])

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

BW=[00000000;

01100111;

01100011;

01100000;

00011000;

00011000;

00011000;

00000000]

X=bwlabel(BWz4)

RGB=label2rgb(Xz@jet;k');

imshow(RGB/notruesize,)

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

Mallab图像匹配的步骤:

将标准图像和待匹配图像读入Matlab;指定图像中的限制点对并保存;运用相互

关性进一步协调限制点对(可选);制定所需变换类型并依据限制点对推断变换参数;

变换未匹配的图像。

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

unregistered=imread('westconcordaerial.png');

imshow(unregistered)

orthophoto=imreadCwestconcordorthophoto.png');

figure,imshow(orthophoto)

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

cpselect(unregistered(:,:zl),orthophoto)

%保存限制点对

input_points

base_points

%运用相关性进一步协调限制点对

input_points_corr=cpcorr(input_points,base_pointszunregistered(:z

:zl),orthophoto);

input_points_corr

%依据限制点对准断空间变换参数

mytform=cp2tform(input_pointszbase_points,'projective');

%)变换未匹配的图像

registered=imtransform(unregistered,mytform);

figure,imshow(registered)

试验五图像增加与复原

一、试验目的:

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

2.驾驭直方图灰度变换方法

3.驾驭噪声模拟和图像滤波函数的运用方法

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

二、试验内容

1.灰度变换增加

A)线段上像素灰度分布

读入灰度图像"debyel.tif,采纳交互式操作,用improve绘制一条线段的灰度

值。

imshow('debyel.tif')

improfile

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

imshow('flowers.tif')

improfile

B)直方图变换

<i>直方图显示

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

I=im「ead('rice.tif');

imshow(I)

figure,imhist(Ir64)

figure,imhist(Ir128)

<ii>直方图灰度调整

利用函数imadjust调解图像灰度范围,视察变换后的图像及其直方图的变更。

^imreadCrice.tif');

imshow(I)

figure,imhist(I)

J=imadjust(I,[0.150.9]z[01]);

figure,imhist(J)

figure,imshow(J)

^imreadCcameraman.tif');

imshow(I)

figure,imhist(I)

J=imadjust(Iz[O0.2],[0.51]);

figure,imhist(J)

figure,imshow(J)

<iii>直方图均衡化

分别对图像'pout.tif'和'tire.tif'进行直方图均衡化处理,比较处理前后图像及

直方图分布的变更。

^imreadCpout.tif');

imshow(I)

figure,imhist(I)

J=histeq(I);

figure,imhist(J)

figure,imshow(J)

I=imread('tire.tif');

imshow(I)

figure,imhist(I)

J=histeq(I);

figure,imshow(J)

figure,imhist(J)

2.空域滤波增加

A)噪声模拟

利用函数imnoise给图像"eight.tif,分别添加高斯(gaussian)噪声和椒盐(salt&

p叩per)噪声。

I=imread('eight.tir);

imshow(I)

U=imnoise(I/gaussian'z0,0.01);

figure,imshow(Il)

I2=imnoise(I/salt&pepper');

figure,imshow(I2)

B)空域滤波

<i>对上述噪声图像进行均值滤波和中值滤波,比较滤波效果。

^imreadCeight.tif');

J=imnoise(I,'salt&pepper',0.02);

imshow(J)

Kl=medfilt2(J.,[33]);%3*3中值滤波

figure,imshow(Kl)

K2=filter2(fspecial(,average',5),J)/255;

figure,imshow(K2)

<ii>总结均值滤波和中值滤波的特点及运用场合。

均值滤波器是一种最常用的线性低通平滑滤波器。可抑制图像中的噪声,但同时也

使图像变得模糊

中值滤波器是一种最常用的非线性平滑滤波器。可消退图像中孤立的噪声点,又可

产生较少的模糊

<iii>*对图像'saturn.tif*采纳laplaciarf高通滤波器进行锐化滤波。

^imreadCsaturn.tif');

imshow(I)

h=fspecial('laplacian');

I2=filter2(h,I);

figure,imshow(I2)

3.图像复原

A)模糊与噪声

<i>对图像'flowers.tif'分别采纳运动PSF和均值滤波PSF进行模糊。

I=imread('flowers.tif');

1=1(10+[1:256],222+[1:256],:);%剪切图像

imshow(I)

len=30;%运动位移

theta=10;%运动角度

RSF=fspecial('motion',len,theta);

blurred=imfilter(I,PSP,'circular'/conv');

figure,imshow(blurred)

I=imread('flowers.tif');

imshow(I)

,,

H=fspecial(motion/50,45);%运动PSP

motionblur=imfilter(I,H);

figure,imshow(motionblur)

H=fspecial('disk',10);%均值滤波PSP

averageblur=imfilter(I,H);

figure,imshow(averageblur)

<ii>在上述模糊图像上再添加噪声

J=imnoise(motionblui;'salt&pepper');

figure,imshow(J)

B)维纳滤波复原

<i>运用维纳滤波复原函数deconvwnr复原无噪声模糊图像。

len=30;theta=10;PSF=fspecial('motion'zlenztheta);

blurred=imfilter(IzPSF/circular7conv');

figure,imshow(blurred)

wnrl=deconvwnr(blurred,PSF);%真实PSF

figure,imshow(wnrl)

%非真实PSF

,

wnr2=deconvwnr(blurred,fspecial(motion'z2*len,theta));

figure,imshow(wnr2)

%非真实PSF

wnr3=deconvwnr(blurredzfspecial('motion'zlen,2*theta));

figure,imshow(wnr3)

<ii>*运用维纳滤波复原函数deconvwnr复原模糊噪声图像。

,

PSF=fspecial('nnotion/len/theta);

,,,

blurred=imfilter(I,PSFzcircularzconv');

noise=0.1*randn(size(I));

BlurredNoisy=imadd(blurred,im2uint8(noise));

figure,imshow(BlurredNoisy)

wnr4=deconvwnr(BlurredNoisy,PSF);

figure,imshow(wnr4)

<iii>*设置信噪比和相关函数的维纳滤波复原(pl79图9J2)o

NSR=sum(noise(:).A2)/sum(im2double(I(:)).A2);%计算信噪比

wnr5=deconvwnr(BlurredNoisy,PSF,NSR);

figure,imshow(wnr5)%设置信噪比的复原结果

NP=abs(fftn(noise)).A2;%噪声能量谱密度

NCORR=fftshift(real(ifftn(NP)));%噪声自相关函数

IP=abs(fftn(im2double(I))).A2;%图像能量谱密度

ICORR=fftshift(real(ifftn(IP)));%图像自相关函数

wnr6=deconvwnr(BlurredNoisyzPSFzNCORR,ICORR);

figure,imshow(wnr6)%设置自相关函数的复原结果

试验六图像分析与理解及图像压缩

一、试验目的

1.了解DCT变换在图像压缩中的应用

2.驾驭边缘检测的Matlab实现方法

3,了解用四叉数分解函数进行区域分割的方法

4.了解Matlab区域操作函数的运用方法

5.了解图像分析和理解的基本方法

二、试验内容

1.图像分析与理解

A)边缘检测

<i>运用edge函数对图像'rice.tif'进行边缘检测。

I=imread('rice.tif');

imshow(I)

bwl=edge(I/roberts');

bw2=edge(I/sobel');

bw3=edge(I,'prewitt');

bw4=edge(I/canny*);

bw5=edge(I/log');

figure,imshow(bwl)

figure,imshow(bw2)

figure,ims

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论