收藏 分享(赏)

图像处理(第二周备课).ppt

上传人:gnk289057 文档编号:6212504 上传时间:2019-04-02 格式:PPT 页数:35 大小:2.15MB
下载 相关 举报
图像处理(第二周备课).ppt_第1页
第1页 / 共35页
图像处理(第二周备课).ppt_第2页
第2页 / 共35页
图像处理(第二周备课).ppt_第3页
第3页 / 共35页
图像处理(第二周备课).ppt_第4页
第4页 / 共35页
图像处理(第二周备课).ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、图 像 处 理,1.2 图像表示方法,图像的数字化图像:每个图像本质上是一个非常复杂的数学函数,这个数学函数一般是不能用解析式子表示的。图像具有不规则性、自然性、复杂性。图像的数字化:随着数字摄像技术的诞生,数字图像成为科学研究及应用领域的研究重点。在计算机中,图象被看作是一些数字矩阵。,图像的读取与显示,图像的读取:函数imread()用来读取图像,把图像数据读出以后,可以赋给一个变量。 图像数据的调用:既然图像数据是存储在数组中,那么调用图像数据就变成了操作数组元素。 图像的显示: 函数imshow( )用来显示图像 函数imview( )、image( )、imagesc( )也可以用来

2、显示图像。 函数montage( )用来在一个窗口中显示多帧图像。,A=imread(d:1.gif); subplot(1,4,1); image(A)subplot(1,4,2); imshow(A)subplot(1,4,3); imagesc(A)subplot(1,4,4); imview(A),图像的显示函数应用1,图像的显示函数应用2,A=imread(d:1.gif);subplot(1,4,1); image(A) subplot(1,4,3); imagesc(A),A=imread(d:1.gif);subplot(1,4,2); imshow(A)subplot(1,4

3、,4); imview(A),图像的显示函数应用3,M=uint8(zeros(128,128,1,27); for i=1:27 M(:,:,:,i),map=imread(D:Program FilesMATLAB71toolboximagesimdemosmri.tif,i); end montage(M, map),【例1-12】函数montage( )的使用方法。 使用下面程序可以读出mri图像数据并且绘制出图1-12所示图形。,图1-12 使用函数montage显示图像,图像的显示函数应用4,函数montage(M, map)在一个图形窗口中显示M内的多帧索引图像。如果不是索引图像

4、,去掉参数map就可以了。 索引图像mri.tif颜色表实际上只有89种颜色,颜色强度都已经转化为0到1之间。,下面5行3列数据是颜色表的前5种颜色:0 0 00.0078 0.0078 0.00780.0196 0.0196 0.01960.0314 0.0314 0.03140.0431 0.0431 0.0431,下面5行3列数据是颜色表的最后5种颜色: 0.9569 0.9569 0.95690.9686 0.9686 0.96860.9804 0.9804 0.98040.9922 0.9922 0.99221.0000 1.0000 1.0000,下面数据截取自M中的一帧,从数据可

5、以看到数值都介于0到88之间。,这些数值分别映射到颜色表中,对应着颜色表中的颜色。例如数值是88的像素颜色值为1.0000 1.0000 1.0000,数值是85的像素颜色值为0.9569 0.9569 0.9569。,图像的分类,(1)按图像的显示效果分 灰度图像 灰度图像对应着一个数据矩阵(二维数组),数组元素的值表示图像在该位置上的亮度值。,0表示黑色,255表示白色,用0255之间的数表示灰度(亮度),B=imread(D:2.jpg); B2=rgb2gray(B); subplot(1,4,1); imshow(B) subplot(1,4,2); imshow(B,2) subp

6、lot(1,4,3); imshow(B,240) subplot(1,4,4); imshow(B,16),原图 灰度级为2 灰度级为240 灰度级为16,图像的分类2,二值图像 灰度级为2的图像为二值图像,二值图像只有两个颜色,黑与白。,B=imread(D:2.jpg); B2=rgb2gray(B); imshow(B,2),图像的分类3,RGB图像 RGB图像使用m*n*3数组表示,也就是3个m*n二维矩阵表示。,第一个二维矩阵表示:红色值的分布; 第二个二维矩阵表示:绿色值的分布; 第三个二维矩阵表示:蓝色值的分布。,图像的分类3,【例1-13】RGB图像的3个分量显示。 设计下面

7、程序,显示一幅图像的R、G、B分量。 B=imread(D:2.jpg); B2=imresize(B,0.15); B11=B2(:,:,1); B12=B2(:,:,2); B13=B2(:,:,3); subplot(1,4,1); imshow(B) subplot(1,4,2); imshow(B11) subplot(1,4,3); imshow(B12) subplot(1,4,4); imshow(B13),图像的分类4,HSV图像 HSV图像使用m*n*3数组表示,也就是3个m*n二维矩阵表示。,第一个二维矩阵表示:色彩值(hue); 第二个二维矩阵表示:饱和度(satura

8、tion); 第三个二维矩阵表示:亮度(value)。,图像的分类4,【例1-14】HSV图像的3个分量显示。 设计下面程序,显示一幅图像的H、S、V分量。 B=imread(D:117.jpg); B2=rgb2hsv(B); B11=B2(:,:,1); B12=B2(:,:,2); B13=B2(:,:,3); subplot(1,4,1); imshow(B) subplot(1,4,2); imshow(B11) subplot(1,4,3); imshow(B12) subplot(1,4,4); imshow(B13),原图像 (b) H阵 (c) S阵 (d) V阵,B=imr

9、ead(D:117.jpg); B2=rgb2hsv(B); B11=B2(:,:,1); B12=B2(:,:,2); B13=B2(:,:,3); subplot(2,2,1); imshow(B) subplot(2,2,2); imshow(B11) subplot(2,2,3); imshow(B12) subplot(2,2,4); imshow(B13),图像的分类4,图像的分类5,索引图像 索引图像是由数值矩阵和颜色映射数组组成。,数值矩阵是每个像素的颜色索引编号,通过这个编号到颜色数组中查找颜色。,图1-12 使用函数montage显示图像,Matlab提供了图像类型转换函数

10、,可以完成图像在各个类型之间的转换。,图像类型的转换,(1)save函数 图像含有的数据较多,有时需要存储起来,这时可以使用Matlab的数据文件进行存储。,Matlab的数据文件1,A=imread(D:4.tif); save A 将读入的数据以A.mat的名字存储在work文件夹中,打开work文件夹就可以找到该数据文件。,(2)load函数 如果要使用work文件夹中的A.mat文件时,使用命令 load A.mat 就可以把该变量读出放在内存工作区中。,Matlab的数据文件2,(3)exist函数与delete函数 exist函数用来查找确认数据文件的位置 delete函数用来删除

11、数据文件。,(1)save函数 图像含有的数据较多,有时需要存储起来,这时可以使用Matlab的数据文件进行存储。 A=imread(D:4.tif); save A 将读入的数据以A.mat的名字存储在work文件夹中,打开work文件夹就可以找到该数据文件。 (2)load函数exist命令与delete命令,另外,Matlab中还有其他很多操作文件的命令函数,可以参考相关资料。,Matlab的数据文件,1.3 基于图像的动画制作,序列图像 序列图像,JPG图像格式,GIF图像(静态 GIF和动画GIF),MPEG图像(包括 MPEG-1 、 MPEG-2 、 MPEG-4 、MPEG-7

12、等 ),【例1-15】读取GIF动画图像并逐幅显示出来。 GIF动画图像lanqiu.gif存储在D盘根目录下,编写如下程序,读取该图像并逐幅显示,显示的结果在图1-19中。,m=uint8(zeros(127,91,4); for fr=1:4 m(:, :, fr),map=imread(d:lanqiu.gif,fr); m1(:, :, :, fr)=ind2rgb(m(:, :, fr),map); subplot(1,4,fr) imshow(m1(:, :, :, fr) axis off end,图1-19 逐幅显示的GIF图像,该程序首先使用uint8(zeros(127,9

13、1,1,4)创建了一个四维全零数组,数据类型为无符号整型,数组名为m。在编写程序前,事先查看图像lanqiu.gif的属性,得知该图像的高为127,宽为91,一共四幅,所以创建的数组大小为(127,91,4)。,在循环语句中,顺序读出四幅图像的数据,然后使用subplot(1,4,fr) 把四幅图像显示在一个图形窗口中。,语句m(:, :, fr),map=imread(d:lanqiu.gif,fr)读出每一幅图像的数据矩阵与映射矩阵。语句m1(:, :, :, fr)=ind2rgb(m(:, :, fr),map)是把读出的索引图像变为RGB彩色图像。,axis off是不显示坐标轴。,

14、图像播放,使用图像显示函数播放图像 使用pause函数与image函数等顺次播放图像。,图像播放,使用movie函数播放图像【例1-17】使用movie函数播放图像。编写如下程序,能够实现图像播放for i=1:4k=int2str(i); k1=strcat(e:ziranjingguan,k,.bmp);a1=imread(k1); image(a1);m(:,i)=getframe ; endmovie(m,15),在这个程序中,使用了图像播放函数movie(m,15),该函数能够按照固定时间间隔播放存储在多维数组m中的图像。,是从图形窗口上取当前图形(图像),把数据赋给数组变量m的第i

15、页。,k=int2str(i)是把i从数值形式变成字符形式,然后赋给变量k; k1=strcat(e:ziranjingguan,k,.bmp)是把字符串e:ziranjingguan 与k连接后再连接.bmp,得到了图像文件存储的位置;,a1=imread(k1)是读入图像数据赋给数组变量a1; 然后在图形窗口中使用image(a1)显示数组a1所代表的图像;,movie(m,15)是连续播放15次。 上面例1-17程序中的语句image(a1)是不可缺少的,因为getframe需要从图形窗口中获得图像数据。,基于图像的动画制作,绘制图像制作动画: 【例1-18】绘制序列图像制作动画。 下面

16、图1-20中的3个图象是用画图工具绘制出来的,分 别命名为1.jpg、2.jpg与3.jpg,存储在E盘根目录下。,图1-20 制作动画的三幅图像,下面程序使用getframe函数装载这几幅图像,使用movie函数播放这几幅图像就是完成了一个动画制作。for i=1:3k=int2str(i);k1=strcat(e:,k,.jpg);a1=imread(k1); image(a1);m(:,i)=getframe;endmovie(m,10),目前一些动画制作就是使用这种方式,先手动绘制大量的具有连续内容的图片,然后扫描(或利用其他输入方式)输入到机器中,最后把这些图像组织到一起,进行播放。

17、,切割图像制作动画: Matlab提供了函数imcrop(A,i,j,m,n)用来对图像进行切割,其中参数A是被切割图像矩阵,(i,j)表示被切割区域的左上角顶点,(m,n)表示被切割区域的右下角顶点。 【例1-19】使用切割图像函数制作动画。,A=imread(D:111.jpg); a=50; b=50; for i=1:50a=a-1;b=b+1; A1=imcrop(A,a,a,b,b); imshow(A1) end,右面程序使用imcrop函数,利用一幅图像制作出了动画效果。 程序运行后,先从图像中间开始显示小块,逐渐向四周扩大显示范围,连续起来形成了动画。,完整的图像如图1-21

18、(a)所示。 图1-21(b)是当i=5时切割出来的图像 (c)是当i=15时切割出来的图像 (d)是当i=30时切割出来的图像 (e)是当i=50时切割出来的图像。,(a),(b),(c),(d),(e),利用图像颜色与亮度变化制作动画: 【例1-21】逐渐减少RGB图像的绿色成分,完成一个颜色渐变的动画。 编写程序如下:I=imread(D:114.jpg);I1=I(:,:,2);s=size(I1);a=ones(s(1),s(2);I2=double(I1);for i=1:50I2(:,:)=I2(:,:)-a*i;I(:,:,2)=I2(:,:);imshow(I)end,程序的运行结果是一 个颜色渐变的动画。,为了把颜色渐变情况在一个窗口中展示出来,下面程序绘制出一些中间帧,如图1-23所示。I=imread(D:111.jpg);I1=I(:,:,2);s=size(I1);a=ones(s(1),s(2);I2=double(I1);for i=1:8I2(:,:)=I2(:,:)-a*i*5;subplot(2,4,i)I(:,:,2)=I2(:,:);imshow(I)end,图1-23 图像的绿色成分逐渐减少,

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

当前位置:首页 > 网络科技 > 图形图像

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报