第2章图像显示
2.1 图像显示概述
1.目的:
通过图像的显示,用户可以监视图像处理分析过程,并可以控制这一过程。
2.视网膜细胞特点:
(1)人眼的结构:
(2)视网膜神经细胞的敏感性
细胞种类 何时活跃 对颜色 数量 锥细胞 亮 敏感 少 柱细胞 暗
不敏感 多 所以:天色暗时看到的物体都是黑白剪影。
3.影响人的色觉复杂,有三个特征量表示颜色。
(1)亮度:与物体对光的反射率成正比。
一幅数字图像
减少亮度后的数字图像
增加亮度后的数字图像
(2)色调:与光谱的波长相联系。 反映主波长。
(3)色饱和度:与色调的纯度相联系。纯白光的色彩饱和度为0,而纯彩色光的饱和度则为100%。
注意:彩色电视中有亮度、对比度、色度等可调键。此处的色度定义了颜色的两个方面—色调与饱和度
4、色彩空间模式有:RBG、CMYK、LAB
CMYK模式:是最佳的打印模式,RGB模式虽色彩多,但不能完全打印出来。
RGB与CMYK图示:
资料:打印彩色图像用CMY相减混色模型。用彩色墨水或颜料进行混合,这样得到的颜色称为相减色。在理论上说,任何一种颜色都可以用三种基本颜料按一定比例混合得到。这三种颜色是青色(Cyan)、品红(Magenta)和黄色(Yellow),通常写成CMY,称为CMY模型。用这种方法产生的颜色之所以称为相减色,是因为它减少了为视觉系统识别颜色所需要的反射光。
2.2 数字图像显示
1 图像的显示特性 (1)图像的尺寸
251*196
351*274:
(2)光度分辨率
光度:是指发光物体本身的发光本领的大小。
注:而亮度是指我们所看到的发光体有多亮。 物理学中有一个关于光度、亮度和距离关系的公式:S ∝ L0 / r 2.。测量出天体的光度L0和亮度S。
指系统在每个像素位置产生正确的亮度的精度。
(3)灰度线性
输出亮度正比于输入灰度级的程度。
(4)平坦能力
当像点与像点之间距离不大时,显示点之间必定会发生重叠。如:
x1=[-1.3 -1.2 -1.1 -1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 ];
y1=exp(-8*x1.^2);
y2=exp(-8*(x1+1).^2);
y3=exp(-8*(x1-1).^2);
plot(x1,y1,'-',x1,y2,'-',x1,y3,'-');
(5)噪声特性
显示系统一定会有电子噪声,电子噪声将引起亮度和位置两方面的变化。
2 图像的暂时显示 图 (1)光栅扫描的阴极射线管(CRT)。
(2)激光显示器。
(3)固态显示器(液晶和发光二极管技术)
3. 图像的永久显示 (1)使胶卷曝光的照相机。
(2)各种打印机。
2.3 MATLAB图像显示方法 1. MATLAB图像的读写和显示 (load imread imwrite image) load clown %调入变量文件,即含有一幅小丑图像的矩阵
此时三个矩阵:X-200*320 map-81*3 caption-2*1
再学习什么是调色板map.
imshow(X,map) %显示这一索引图像
若用image(X)命令显示时,显示下图。不能完全表现此图。 imwrite(X,ma p,'clown_bmp.bmp') %保存在BMP文件。
i=imshow('clown_bmp.bmp')%再显示此保存的图文件
figure,imshow(i) %原图的色彩丢,说明存格式转变时,不能完全复原
imgae(i) %此显示会丢失相关信息
2. 二进制图像的显示方法 例1
(1)建立一个方格子的二进制图像
bw1=zeros(20:20) ; %20*20 矩阵 元素均为0
bw1(2:2:18,2:2:18)=1 ; %a:b:c为起始位、步长、结束位等元素置为1
(2)显示建立好的二进制图像
imshow(bw1) %此时能显示图像。注意bw1是双精度型的,所以认为是二值图像
bw2=uint8(bw1); %bw2是无符号8位整数,若显示bw2则几乎是黑的。为什么?
imshow(bw2);
bw3=bw2~=0;%此时bw3为逻辑阵列类型的数据。
imshow(bw3);
例2 使用调色板显示一幅二进制图像
(1)调入一幅图像并显示
bw=imread('circles.tif');
figure,imshow(bw);
(2)用调色板显示一幅图像
figure,imshow(bw,[1 0 0; 0 0 1]); %背景 1 0 0 为红,颜色0 0 1为蓝
figure,imshow(bw,[0 1 0; 0 0 1]);%背景 1 10 0 为绿
figure,imshow(bw,[1 1 0; 0 0 1]);%背景 1 10 0 为黄
3. 灰度图像的显示方法 i=imread('testpat1.tif');
figure,imshow(i,2) %显示2个灰度级
figure,imshow(i,4) %显示4个灰度级
figure,imshow(i,16) %显示16个灰度级
figure,imshow(i,64) %显示64个灰度级
figure,imshow(i,128) %显示128个灰度级
j=filter2([1 2;-1 -2],i); %对图像i进行滤波,其结果送到j,滤波器为[1 2;-1 -2]
imshow(j,[]) %[]表示自动地标度灰度
4. 索引图像的显示方法 load clown %调入一个小丑图像
imshow(X);%由于是索图像,调色板最多显示81种颜色,而X数组最大值为81,由于是双精度数,大于等于1均为白。
j=uint8(X) 若要当作灰度图显示,则应转化为无符号8位整数
imshow(j)
imshow(X,map) %索引显示
5. RGB图像的显示方法 RGB = imread('ngc6543a.jpg'); %RGB为650*600*3
imshow(RGB);
6. 磁盘图像的直接显示
imshow flowers.tif
2.4 MATLAB特殊显示技术 1 添加色带
例1: i=imread('saturn.tif');imshow(i),colorbar
例2: load flujet imshow(X,map),colorbar
2 显示多帧图像(了解)
mri=uint8(zeros(128,128,1,27));
for frame=1:27
[mri(:,:,:,frame),map]=imread('mri.tif',frame);
end
mov=immovie(mri,map);
movie(mov);
3 显示多幅图像 (1)开辟一个图像窗口用figure命令
[x1 map1]=imread('forest.tif');
[x2 map2]=imread('trees.tif');
imshow(x1,map1)
figure,imshow(x2,map2);
(2)将一个窗口划分为多个显示区域
[x1 map1]=imread('forest.tif');
[x2 map2]=imread('trees.tif');
figure
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)
4 纹理映射
概念:使用插值法将一幅图像映射至一个曲面网格上。命令warp(x,y,x,i).
[x,y,z]=cylinder;i=imread('testpat1.tif');
figure,imshow(i); warp(x,y,z,i);
5 图像显示中的常见问题
(1)将彩色图像显示为灰度图像? 其原因是调色板未装载。
(2)二值图像显示为全黑图像? uint8类型的灰度图像变化范围为[0,255]而不是[0,1]
(3)装载的是多帧图像,而MATLAB却仅仅显示一帧图像。
2.5 补充作业
1.三种基本因素体现颜色(色觉的三个特征量)? 亮度、色调、色饱和度。
2.Matlab使用什么样的调色板来显示灰度图像? 答:R=G=B。
3.判断:索引图像不使用调色板? 答:错误
4.纯彩色光的饱和度则为多少? 答:100%
5._______与光谱的波长相联系?A、亮度 B、对比度 C、色调 D、饱和度 答:C
6.试区别图像的分辨率与图像的尺寸? 答:
7.开辟一个图像窗口的命令是什么? 答:figure
8.subplot(3,2,2)是什么意思? 答:在3*2小块图中,显示第2个小图
9.要在显示窗口中,使用不同的调色板的命令是什么? 答:subimage(x,map),其中x图像变量、map为调色板
10. 指出下例命令的含义?imread('name.tif') load imwrite('name.tif')
11. uint8是什么类型数据?表示的范围是多少?
答:无符号8位整数 0~255
12. uint16是什么类型数据?表示的范围是多少?
答:无符号16位整数 0~65535
13.用画笔画出这个图像,用MATLAB装入并检查。 答:略去操作过程
14.图像尺寸为400*300是什么意思? 答:宽400个像素,高300像素个像素
15.彩色电视调节的三个特征量是_____、______、____。 答:亮度、对比度、色度
16.判断:色调反映颜色的类别。( )答:正确
17.判断:颜色的深浅程度即饱和度。( )答:正确
18.
本次课安排2节课理论+1节课机房上机。上机安排如下:
(1)熟悉MATLAB环境。给变量赋值、加减运算
(2)调入几幅图像,以另一种格式加以保存
(3)用画笔画出50*50的图像,保存文件并在MATLAB中使用,查看矩阵的情况。
(4)将教材中的图像文件调入并显示。
重新调整:同学若有兴趣,可以安排(1节理论+2节上机)
2.6 习题 37
1. 上课实际操作演示(以下题的结果较好)。
2.将一幅世界地图变为类似于地球仪的图形。
i=imread('worldmap1.jpg');
figure;
imshow(i);
[x,y,z]=sphere;
figure;
warp(x,y,z,i)
I=imread('Saturn.tif');
imshow(I);
J1=imnoise(I,'salt & pepper'); % 叠加椒盐噪声
figure,imshow(J1);
f=double(J1); % 数据类型转换,MATLAB不支持图像的无符号整型的计算
g=fft2(f); % 傅立叶变换
g=fftshift(g); % 转换数据矩阵
[M,N]=size(g);
nn=2; % 二阶巴特沃斯(Butterworth)低通滤波器
d0=50;
m=fix(M/2); n=fix(N/2);
for i=1:M
for j=1:N
d=sqrt((i-m)^2+(j-n)^2);
h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数
result(i,j)=h*g(i,j);
end
end
result=ifftshift(result);
J2=ifft2(result);
J3=uint8(real(J2));
figure,imshow(J3); % 显示滤波处理后的图像
[I,map]=imread('blood1.tif');
imshow(I,map);
H2=[-1 -1 -1;-1 -9 -1;-1 -1 -1];
J1=filter2(H2,I); % 高通滤波
figure,imshow(J1,map);
I=double(I);
M=[1 1 1;1 1 1;1 1 1]/9;
J2=filter2(M,I);
J3=I-J2; % 掩模
figure,imshow(J3,map);
一 复习练习
1.什么是数字图像?
2.什么是数字图像处理?
答:放大、缩小、转置、增强、边界分割......
3.一般来说,采样间距越大,图象数据量 ,质量 ;反之亦然。
答:少,差
4.什么是采样和量化?
5.判断:图像处理就是对图像信息进行加工处理,以满足人的视觉心理和实际应用的要求。( )
答:正确
6.将像素灰度转换成离散的整数值的过程叫 ( )。
A、复原 B、增强 C、采样 D、量化
答:D
7.将连续的图像变换成离散点的操作称为( )。
A、复原 B、增强 C、采样 D、量化
答:C
8.色彩丰富的图像是( )。
A、二值图像 B、灰度图像 C、RGB图像 D、黑白图像
答:C
9.举4项数据图像处理的内容。
答:图像变换、图像编码和压缩、图像增强和复原、图像分割(图像分析和理解)也可再举出:图像描述、图像识别。
10.三种基本因素体现颜色(色觉的三个特征量)?
答:亮度、色调、色饱和度。
11.Matlab使用什么样的调色板来显示灰度图像?
答:R=G=B。
12.判断:索引图像不使用调色板?
答:错误
13.纯彩色光的饱和度则为多少?
答:100%
14.与光谱的波长相联系 的是( )。
A、亮度 B、对比度 C、色调 D、饱和度
答:C
15.试区别图像的分辨率与图像的尺寸?
答:
16.开辟一个图像窗口的命令是什么?
答:figure
17.subplot(3,2,2)是什么意思?
答:在3*2小块图中,显示第2个小图
18.要在显示窗口中,使用不同的调色板的命令是什么?
答:subimage(x,map),其中x图像变量、map为调色板
19. 指出下例命令的含义?
(1)imread('name.tif') (2)load (3)imwrite(i,'name.tif')
答:读取图像;装入一个.mat文件;将图像写入到'name.tif'文件中
20. uint8是什么类型数据?表示的范围是多少?
答:无符号8位整数 0~255
21. uint16是什么类型数据?表示的范围是多少?
答:无符号16位整数 0~65535
22.用画笔画出这个图像,用MATLAB装入并检查。
答:略去操作过程
23.图像尺寸为400*300是什么意思?
答:宽400个像素,高300像素个像素
24.彩色电视调节的三个特征量是_____、______、____。
答:亮度、对比度、色度
25.判断:色调反映颜色的类别。( )
答:正确
26.判断:颜色的深浅程度即饱和度。( )
答:正确
27.可以统计一幅图像像元灰度等级的分布状态。像元的灰度值为是0、1、2、3---2N-1,在图像中每一个灰度等级值均可统计出来,设某灰度值的像元个数mi,如果整幅图象的像元总数为M,则某一灰度值的频率为Pi=mi/M,将其绘制成统计图称为___。
答:直方图。
28.判断:低通滤波并不适合对索引图像的操作?
答:正确
29.举例说明MATLAB的几何运算?
答:改变图像大小、图像旋转、图像剪切
30.选择题:在两幅图像之间进行的运算是( )。
A、几何运算 B、点运算 C、灰度插值 D、代数运算
答:D
31.判断:图像的点运算与代数运算有区别 。( )
答:正确
32.几何运算的两个算法过程是什么?
答:空间变换、灰度运算
33.什么是灰度插值?
答:估计像素在图像像素间某一位置取值的过程。
34.两种空间变换分别是什么?
答:仿射变换、透视变换
35.对比度增强、对比度拉伸(或灰度变换),对图像中的每一个像素值进行计算,从而改变图像的显示效果,这种运算叫
______。
答:点运算
36.( )和( )运算,构成最基本最重要的图像处理方法。
A、点运算 B、代数运算 C、几何运算 D、邻域运算
答:A、D
37.判断:点运算也叫灰度级变换 。( )
答:正确
38.判断:直方图均衡化也是一种非线性点运算。( )
答:正确
39.区别灰度插值与灰度变换?
答:前者为几何运算,后者为点运算。
40.判断:图像经过变换后,图像的大部分能量都集中在中、高频段。( )
答:错误
41.判断:DCT变换是一余弦傅立叶变换。( )
答:正确
42.判断:傅立叶变换后的矩阵处在空域上。( )
答:错误
43.形态学最基本的概念是_____、______。
答:膨胀和腐蚀
44.设i=[1 2 3;4 5 6;7 8 9],执行膨胀操作后,j=imdilate(i,[1 1
1]),此时的j为何值?
答:[2 3 3;5 6 6;8 9 9] 注:边缘补零
45.设i=[1 2 3;4 5 6;7 8 9],执行腐蚀操作后,j=imerode(i,[1 1
1]),此时的j为何值?
答:j=[1 1 2;4 4 5;7 7 8] 注:边缘复制
46.判断:骨架化是图像轮廓逐次去掉边缘,最终变为宽度仅为一个像素。( )
答:正确
47.判断:仿射变换是空间变换。( )
答:正确
48.判断:空间变换是频域变换。( )
答:错误
49.从增强的作用域出发,图像增强 的两种方法分别为:______、______。
答:空间域增强和频率域增强
50.空间域增强 的主要方法有:______、______。
答:直方图灰度变换和直方图均衡化
51.判断:图像的增强中的直方图灰度变换是一种点运算。( )
答:正确
52.什么是伪彩色?
答:将灰度图像划分成若干等级区间,每个区间对应一种颜色。
53.判断:图像的平滑操作实际上是邻域操作。( )
答:正确
54.图像锐化与图像平滑有何区别与联系?
答:图象锐化是用于增强边缘,导致高频分量增强,会使图象清晰;图象平滑用于去噪,对图象高频分量即图象边缘会有影响。
都属于图象增强,改善图象效果。
55.伪彩色与假彩色有何区别?
答:伪彩色:灰度图像-->彩色图像;假彩色:一种彩色图像-->另一种彩色图像.
56.设a为:[1 2 1 3;3 25 6 7;5 26 8 9],中值滤波后,j=则medfilt2(a,[1 3]),j为
何值?
答:[1 1 2 1;3 6 7 6;5 8 9 8] 注:左右边补零
57.设a=[1 2 1 3;3 5 16 7;5 6 28 9],均值滤波器h为[0.25 0.25;0.25
0.25],均值滤波j=filter2(h,a)后,j为何值?
答:[2.75 6.00 6.75 2.5;4.75 13.75 15.00 4.00;2.75 8.5 9.25 2.25]
注:右边、下边补零。
58.设a=[1 2 3;3 16 7;5 28 9],滤波器h为[-1
1],则滤波j=filter2(h,a)后,j为何值?
答:[1 1 -3;13 -9 -7;23 -19 -9] 注:右边补零,与imfilter(h,a)运行结果相同。
59.说明频域增强 一般过程?
答:假定原图像为f(x,y),经傅立叶变换为F(u,v)。频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像g(x,y)。
f(x,y) 傅立叶变换 > F(u,v) 滤波 >
F(u,v)H(u,v) 反傅立叶变换
> g(x,y)
60.什么是中值滤波?
答:将当前像元的窗口(或邻域)中所有像元灰度由小到大进行排序,中间值作为当前像元的输出值。
61.什么是图像的退化?
答:图像在形成、传输和记录过程中,由于成像系统、传输介质和设备的不完善,使图像的质量变坏。
62.图像复原和图像增强的区别:
答:
不同点 共同点
图像增强 不考虑退化原因 改善图像质量
图像复原 考虑退化原因 改善图像质量
63.判断:如果图像已退化,应先作复原处理,再作增强处理。( )
答:正确
64.判断:像素深度是指存储每个像素所用的位数。( )
答:正确
65.判断:行程编码 是无损压缩。( )
答:正确
66.对于概率大符号用短的码来表示,概率小的用长的码加以表示,这种编码叫______。
答:哈夫曼编码
67.一幅灰度级均匀分布的图象,其灰度范围在[0,255],则该图象的信息量为( )。
A、0 B、255 C、6 D、8
答:D
68.对一幅100′100像元的图象,若每像元用8bit表示其灰度值,经霍夫曼编码后压缩图象的数据量为40000bit,则图象的压缩比为
( )。
A、2:1 B、3:1 C、4:1 D、1:2
答:A
69.采用模板[-1 1]主要检测____方向的边缘。
A、水平 B、45° C、垂直 D、135°
答:C
70.判断:边缘检测是将边缘像元标识出来的一种图像分割技术。 ( )
答:正确
二 补充实验指导
实验十三:DCT变换
(1)a=[1 2 3 4];b=dct(a);
T=zeros(4);
%p=0时
T(1,1)=1/2;
T(1,2)=1/2;
T(1,3)=1/2;
T(1,4)=1/2;
%p=1时
T(2,1)=cos(pi/8)/sqrt(2)
T(2,2)=cos(3*pi/8)/sqrt(2)
T(2,3)=cos(5*pi/8)/sqrt(2)
T(2,4)=cos(7*pi/8)/sqrt(2)
%p=2时
T(3,1)=cos(2*pi/8)/sqrt(2)
T(3,2)=cos(6*pi/8)/sqrt(2)
T(3,3)=cos(10*pi/8)/sqrt(2)
T(3,4)=cos(14*pi/8)/sqrt(2)
%p=3时
T(4,1)=cos(3*pi/8)/sqrt(2)
T(4,2)=cos(9*pi/8)/sqrt(2)
T(4,3)=cos(15*pi/8)/sqrt(2)
T(4,4)=cos(21*pi/8)/sqrt(2)
a=[1 1 2 2;2 2 3 3;3 3 4 4;4 4 5 5];
b=T*a*T';
以上b是手工计算的结果:
12.0000 -1.8478 -0.0000 0.7654
-4.4609 0 0.0000 0.0000
-0.0000 -0.0000 0.0000 0.0000
-0.3170 0.0000 0.0000 -0.0000
与MATLAB的dct2(a)结果相同。
(2)调入一幅索引图(细节丰富的),转成dct2后的结果。
clear
close all
load woman
i=ind2rgb(X,map);
j=rgb2gray(i);
k=dct2(j);
subplot(121),imshow(i)
subplot(122),imshow(k)
colormap(jet(64))
结论:能量主要集中在左上角。
实验十四:JEPG初步
(1)读取图像
i=imread('cameraman.tif');
i=im2double(i);
(2)求出变换矩阵
t=dctmtx(8);
b=blkproc(i,[8 8],'P1*x*P2',t,t');%t和t'是DCT函数的P1*x*P2的参数
(3)取出变换后矩阵的左上角10个元素
mask=[1 1 1 1 0 0 0 0;
1 1 1 0 0 0 0 0;
1 1 0 0 0 0 0 0;
1 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0]
b2=blkproc(b,[8 8],'P1.*x',mask);
(4)反变换并重建图像
i2=blkproc(b2,[8 8],'P1*x*P2',t',t);
subplot(1,2,1),imshow(i);
subplot(1,2,2),imshow(i2);
实验十五: 图像增强-直方图灰度变换(属于点运算)
(1)读取摄影师相片
i=imread('cameraman.tif');
subplot(1,2,1),imshow(i);
(2)估算出此相片的灰度比值
figure,imhist(i)
j=imadjust(i,[0 0.2],[0.5 1]);%低于1/5的向白处靠拢。
figure,imhist(j);
figure(1)
subplot(1,2,2),imshow(j);
(3)对于实数,imadjust函数的学习
设a=
0 0.1 0.2
0.3 0.4 0.5
0.6 0.7 0.8
0.9 0.7 0.2
b=imadjust(a,[0 0.4],[0.5 1])
则b为:
0.5 0.625 0.75
0.875 1.0 1.0
1.0 1.0 1.0
1.0 1.0 0.75
即从公式y=(1-0.5)/(0.4-0)*x+0.5导出。y超过1.0的则以1.0计。
(4)对于无符号数,imadjust函数的学习
a =
0 1 2
3 4 5
6 7 8
9 7 2
a1=uint8(a);
b=imadjust(a1,[0 0.4],[0.5 1])
则b为:
128 129 130
131 133 134
135 136 138
139 136 130
实验十六:直方图均衡化
(1)调入一幅图像
I = imread('tire.tif');
J = histeq(I);
(2)查看均衡化前后的直方图
figure,imhist(I)
figure,imhist(J)
(3)显示均衡化后的图像
subplot(2,2,1),imshow(I)
subplot(2,2,2),imshow(J)
subplot(2,2,3),imhist(I,64)
subplot(2,2,4),imhist(J,64)
实验十七: 图像的平滑
(1)调入一幅图像
i=imread('pout.tif');
imshow(i)
(2)用“图画”/“看图”等工具干扰此图像并存为文件pout1.gif
(3)调入pout1.gif图像
j=imread('pout1.gif');
imshow(j)
(4)平滑这一幅图像
j1=medfilt2(j,[1 5]);
imshow(j1)
(5)进一步掌握中值滤波函数:medfilt2
设a为:
1 2 1 3
3 25 6 7
5 26 8 9
则medfilt2(a,[1 3])为
1 1 2 1
3 6 7 6
5 8 9 8
实验十八:使用load和save命令
%(1)清除变量及窗口
clear;close all;
(2)调入trees文件、显示图像、保存调色板在treemap
load trees %观察workspace窗口中的变量
figure,imshow(X,map)
treemap=map;
(3)调入woman文件、显示图像
load woman %观察workspace窗口中的变量
figure,imshow(X,map)
figure,imshow(X,treemap); %使用treemap调色板显示
(4)调入clown文件、显示图像
load clown %观察workspace窗口中的变量
figure,imshow(X,map)
figure,imshow(X,treemap); %使用treemap调色板显示
(5)保存clown图像(用新的调色板)
1)清除变量map:clear map
2)保存clown图像为clown1
save clown1
3)clear %此时无任何图像变量
4)调入图像clown1并显示
load clown1
figure,imshow(X,treemap) %显示刚调入图像clown1
实验十九: 图像操作训练
(1)正常显示ic.tif与旋转35度后显示的ic.tif
I = imread('ic.tif');
J = imrotate(I,35,'bilinear');
imshow(I)
figure, imshow(J)
(2)选取剪切矩形与剪切结果
imshow ic.tif
I= imcrop;
figure,imshow(I)
(3)矩形函数显示
f = zeros(30,30);
f(5:24,13:17) = 1;
imshow(f,'notruesize')
(4)高斯过滤器的频率响应特性
h = fspecial('gaussian');
freqz2(h)
(5)包含一个简单四方形对象的图像
I = zeros(100,100);
I(25:75, 25:75) = 1;
imshow(I)
(6)二进制边界图像计算前后的ic.tif
I = imread('ic.tif');
BW = edge(I);
imshow(I)
figure, imshow(BW)
(7)Sobel、Canny边界探测器
I = imread('rice.tif');
BW1 = edge(I,'sobel');
BW2 = edge(I,'canny');
imshow(BW1)
figure,imshow(BW2)
(8)填充前后的trees图像
load trees
I = ind2gray(X,map);
imshow(I)
I2 = roifill;
imshow(I2)
实验二十: 使用DEMO操作进行图像分割和边缘检测
(1)图像分割
1)启动MATLAB/在菜单中选“demo”/“toolboxes”/“image
processing”/“morphology,analyses and segmentation”/“quadtree
decomposition”
2)运行这个“run this demos”
3)选中一幅图像,对于不同的阈值进行分析。
(2)边缘检测
1)启动MATLAB/在菜单中选“demo”/“toolboxes”/“image
processing”/“morphology,analyses and segmentation”/“Edge
Detection”
2)运行这个“run this demos”
3)选中一幅图像,对于不同的检测算子进行检测。
三 实验复习内容
1、几种常用符号的使用如:% ; : ' * .* == \
2、图像显示等常用函数使用: figure imread(filename) imshow(i) imwrite(i,filename) subplot(m,n,x) image(i) imhist(i) imadd(i,j)
3、图像增强及滤波函数的使用: histeq imadjust medfilt2 filter2 imfilter
4、图像类型转换函数:rgb2gray-将彩色图像转成灰度图像 uint8-将数据转成8位无符号数 double-将数据转成双精度类型
5、常用的其他函数: or() and() break zeros() ones() size
6、几个简单的命令的作用: close clear
7、彩色图像是多少维数组? A.1维 B.2维 C.3维
8、MATLAB的三个窗口分别是什么?
9、如何操作使MATLAB的窗口处于缺省的状态?
10、 设调色板是map,索引图像矩阵为X,则索引图像的显示命令是什么?
11、两幅图像叠加是否要求图像的尺寸相等?
12、若矩阵i各元素的值均大于1,则imshow(i)显示的是什么图像?
13、若矩阵i是只有一行的矩阵,则显示图像是一条( )线。水平/垂直/45。线。
14、设输入图像为i1(75~200),输出图像为i2,则i2=(255-20)/(200-75)*(i1-75)+20中,输出图像的范围是
多少?
15、for i=5:100 end的意义?
16、sqrt(3)?
17、while i<=99 end的意义?
18、if or(i==k,i==257-k)的意义?
19、ones(3)和zeros(4)的意义?
20、设a为[1 2 3;4 5 6],则[a;7 8 9]是什么意思?
21、uint8的数一定不能进行运算吗?
22、fix(3.45) fix(3.94) fix(2.54)和fix(-3.45) fix(-3.94)
fix(-2.54)是向0方向靠拢的整数吗?
23、图像放大与缩小的原理是什么?
24、max函数的作用是什么?
25、邻域运算nlfilter函数的使用?
26、mean2函数的作用是什么?
27、彩色图可以转成灰色图,反之是否可以?
28、pi是什么?
29、图像放大的方法是什么?
30、图像缩小的方法是什么?
31、RLE编码适用于什么图像?
32、time=cputime;cputime-time 这两条语句放在一个程序段的两端,其作用是什么?
33、了解膨胀和腐蚀:imdilate imerode
34、什么是骨架化?
35、给出一幅图,可以辨出它是经过仿射变换的。
36、显示索引图像命令imshow(i,map)中,调色板是什么?
37、imshow(i)中,i可以是uint8型,是否可以是double型?
38、ones(4)表示的矩阵大小为多小?
39、subplot(1,11,1)与subplot(1111)是否相同? (答:后者是11行1列中1号图)
40、i=uint8(j)后,i是否可以作乘除等运算?(答:不可以)
41、设i是291*240,则i=i(146+[1:145],120+[1:120]);的作用是什么?(答:裁剪四等份中右下角的区域)