图像处理实验报告Word格式文档下载.docx
- 文档编号:7909995
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:52
- 大小:7.84MB
图像处理实验报告Word格式文档下载.docx
《图像处理实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图像处理实验报告Word格式文档下载.docx(52页珍藏版)》请在冰点文库上搜索。
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)空域滤波
对上述噪声图像进行均值滤波
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 处理 实验 报告