图像处理实验报告Word格式文档下载.docx

上传人:b****4 文档编号:7909995 上传时间:2023-05-09 格式:DOCX 页数:52 大小:7.84MB
下载 相关 举报
图像处理实验报告Word格式文档下载.docx_第1页
第1页 / 共52页
图像处理实验报告Word格式文档下载.docx_第2页
第2页 / 共52页
图像处理实验报告Word格式文档下载.docx_第3页
第3页 / 共52页
图像处理实验报告Word格式文档下载.docx_第4页
第4页 / 共52页
图像处理实验报告Word格式文档下载.docx_第5页
第5页 / 共52页
图像处理实验报告Word格式文档下载.docx_第6页
第6页 / 共52页
图像处理实验报告Word格式文档下载.docx_第7页
第7页 / 共52页
图像处理实验报告Word格式文档下载.docx_第8页
第8页 / 共52页
图像处理实验报告Word格式文档下载.docx_第9页
第9页 / 共52页
图像处理实验报告Word格式文档下载.docx_第10页
第10页 / 共52页
图像处理实验报告Word格式文档下载.docx_第11页
第11页 / 共52页
图像处理实验报告Word格式文档下载.docx_第12页
第12页 / 共52页
图像处理实验报告Word格式文档下载.docx_第13页
第13页 / 共52页
图像处理实验报告Word格式文档下载.docx_第14页
第14页 / 共52页
图像处理实验报告Word格式文档下载.docx_第15页
第15页 / 共52页
图像处理实验报告Word格式文档下载.docx_第16页
第16页 / 共52页
图像处理实验报告Word格式文档下载.docx_第17页
第17页 / 共52页
图像处理实验报告Word格式文档下载.docx_第18页
第18页 / 共52页
图像处理实验报告Word格式文档下载.docx_第19页
第19页 / 共52页
图像处理实验报告Word格式文档下载.docx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图像处理实验报告Word格式文档下载.docx

《图像处理实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图像处理实验报告Word格式文档下载.docx(52页珍藏版)》请在冰点文库上搜索。

图像处理实验报告Word格式文档下载.docx

png'

%2.图像显示

%A)二进制图像的显示

BW1=zeros(20,20);

%创建仅包含0/1的双精度图像

BW1(2:

2:

18,2:

18)=1;

imshow(BW1,'

notruesize'

BW2=uint8(BW1);

figure,imshow(BW2,'

BW3=BW2~=0;

%逻辑标志置为on

figure,imshow(BW3,'

whos

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)%显示第三个颜色分量

%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);

%显示第三帧

figure,imshow(mri(:

6),map);

%显示第六帧

10),map);

%显示第十帧

20),map);

%显示第二十帧

%)显示多幅图像

[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图像的某一个颜色分量?

使用代码imshow(I(:

x))

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

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

显示多帧图像的所有帧代码为imshow(mri(:

frame),map);

单位时间内显示24幅多帧图像。

实验二图像运算

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

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

3.了解图像的邻域操作

1.图像点运算

读入图像'

rice.tif'

,通过图像点运算改变对比度。

rice=imread('

subplot(131),imshow(rice)

I=double(rice);

%转换为双精度类型

J=I*0.43+60;

rice2=uint8(J);

%转换为unit8

subplot(132),imshow(rice2)

J=I*1.5-60;

rice3=uint8(J);

%转换为uint8

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);

figure,imshow(K)

3.图像的几何运算

A)改变图像的大小

ic.tif'

,改变图像大小,分别将原图像放大1.5倍和缩小0.5倍。

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)

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

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('

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变换。

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);

figure,imshow(I2)

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)

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

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等),重新进行膨胀操作。

改变disk元素

C)对图像'

进行上述操作,观察不同结构元素膨胀的效果。

BW3=imread('

imshow(BW3)

se2=strel('

line'

11,90);

%线型结构元素

BW4=imdilate(BW3,se2);

figure,imshow(BW4)

2.图像腐蚀

A)对图像'

circbw.tif'

进行腐蚀操作。

BW1=imread('

arbitrary'

eye(5));

BW2=imerode(BW1,se);

imshow(BW1)

figure,imshow(BW2)

B)对图像'

BW2=imerode(BW3,se);

imshow(BW)

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

A)从原始图像'

中删除电流线,仅保留芯片对象。

方法一:

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

rectangle'

[4030]);

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

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

BW3=imdilate(BW2,se);

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

figure,imshow(BW3)

方法二:

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

BW2=imopen(BW1,se);

%开启操作

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

[2010]);

[5040]);

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

[43]);

I1=imopen(I,se);

I2=imclose(I,se);

%闭合操作

5.图像极值的处理方法

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

A=[10101010101010101010;

10131313101011101110;

10131313101010111010;

10101010101010101010;

10111010101818181010;

10101011101818181010;

10101110101818181010;

10111011101010101010;

10101010101011101010];

B=imregionalmax(A)

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

C=imextendedmax(A,2)

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('

improfile

读入RGB图像'

,显示所选线段上红、绿、蓝颜色分量的分布

B)直方图变换

<

i>

直方图显示

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

figure,imhist(I,64)

figure,imhist(I,128)

figure,imhist(I,256)

ii>

直方图灰度调节

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

figure,imhist(I)

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

figure,imhist(J)

J=imadjust(I,[00.2],[0.51]);

iii>

直方图均衡化

分别对图像'

pout.tif'

和'

tire.tif'

进行直方图均衡化处理,比较处理前后图像及

直方图分布的变化。

J=histeq(I);

2.空域滤波增强

A)噪声模拟

利用函数imnoise给图像'

eight.tif'

分别添加高斯(gaussian)噪声和椒盐(salt&

pepper)噪声。

I1=imnoise(I,'

gaussian'

0,0.01);

I2=imnoise(I,'

salt&

pepper'

B)空域滤波

对上述噪声图像进行均值滤波

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2