第十讲 图像处理精选文档.ppt
《第十讲 图像处理精选文档.ppt》由会员分享,可在线阅读,更多相关《第十讲 图像处理精选文档.ppt(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十讲 图像处理本讲稿第一页,共九十一页 7.1 7.1 概述概述7.1.1 MATLAB7.1.1 MATLAB中的图像和图像处理工具箱中的图像和图像处理工具箱 MATLAB中大多数图像是用二维数组(矩阵)中大多数图像是用二维数组(矩阵)double(64位)浮点型,或位)浮点型,或uint8(8位无符号整数位无符号整数)、uint16(16位无符号整数位无符号整数)来存储的,矩阵中的每一个元来存储的,矩阵中的每一个元素对应图像中的一个像素素对应图像中的一个像素(pixel).例如:例如:l一幅由一幅由200行行300列不同灰度值的点组成的图像可以用列不同灰度值的点组成的图像可以用200X3
2、00的矩阵来存储。的矩阵来存储。l对于彩色图像,如对于彩色图像,如RGB图像,需要用三维数组来存储。图像,需要用三维数组来存储。本讲稿第二页,共九十一页7.1.2 MATLAB7.1.2 MATLAB中的图像类型中的图像类型二值图像二值图像(Binary):图像的取值为图像的取值为0或或1。索引图像索引图像(Indexed,pseudocolor):图像为图像为mXn矩阵,矩阵元素矩阵,矩阵元素的值指向颜色映像表的值指向颜色映像表(colormap)。灰度图像灰度图像(intensity,gray scale,gray level):图像为图像为mXn矩矩阵,矩阵元素的值指的是灰度值。对阵,矩
3、阵元素的值指的是灰度值。对single or double矩阵取矩阵取值范围:值范围:0,1,对,对 uint8矩阵取值范围:矩阵取值范围:0,255,对,对uint16矩阵取值范围:矩阵取值范围:0,65535,对,对int16矩阵取值范围:矩阵取值范围:-32768,32767。真彩色图像真彩色图像(RGB):图像为图像为mXnX3的矩阵。的矩阵。本讲稿第三页,共九十一页 二值图像二值图像(Binary)本讲稿第四页,共九十一页 索引图像索引图像(Indexed)本讲稿第五页,共九十一页 灰度图像灰度图像(Grayscale)本讲稿第六页,共九十一页 真彩色图像真彩色图像(Truecolo
4、r)本讲稿第七页,共九十一页gray2ind:Convert a grayscale image to an indexed image.grayslice:Convert a grayscale image to an indexed image using multilevel thresholding.im2bw:Convert a grayscale image,indexed image,or truecolor image,to a binary imageind2gray:Convert an indexed image to a grayscale image。7.1.3 MA
5、TLAB7.1.3 MATLAB中的图像类型之间的转换中的图像类型之间的转换本讲稿第八页,共九十一页ind2rgb:Convert an indexed image to a truecolor image.mat2gray:Convert a data matrix to a grayscale image,by scalingthe data.rgb2gray:Convert a truecolor image to a grayscale image.rgb2ind:Convert a truecolor image to an indexed image.本讲稿第九页,共九十一页im2
6、uint8 rgb2=im2uint8(rgb1)im2uint16im2int16im2singleim2double7.1.4 7.1.4 图像数据类型之间的转换图像数据类型之间的转换本讲稿第十页,共九十一页用用N N维数组来存储图像序列维数组来存储图像序列 mXnXp的数组表示的数组表示p个二维图像个二维图像7.1.5 7.1.5 图像序列图像序列mXnX3Xp 表示表示?本讲稿第十一页,共九十一页MATLAB支持下列图像文件格式:支持下列图像文件格式:BMP(Microsoft Windows Bitmap 位图位图)HDF(Hierarchical Data Format 层次数据层
7、次数据)JPEG(Joint Photographic Expert Group 静止图像压缩标准静止图像压缩标准)PCX(Paintbrush 画刷格式画刷格式)PNG(Portable Network Graphics 可移植网络图像可移植网络图像)TIFF(Tagged Image File Format 标记图像文件标记图像文件)XWD(X Window Dump)GIF(Graphics Interchange Format 图形交换图形交换)7.1.5 7.1.5 图像文件格式图像文件格式本讲稿第十二页,共九十一页 7.2 7.2 图像的读写和查询图像的读写和查询7.2.1 7.2
8、.1 图像文件的读取图像文件的读取A=imread(文件名,文件格式文件名,文件格式)X,map=imread(文件名,文件格式文件名,文件格式)l文件名必须在文件名必须在MATLAB的搜索路径范围内,否的搜索路径范围内,否则需要指出完整的路径。则需要指出完整的路径。RGB=imread(football.jpg);X,map=imread(trees.tif);本讲稿第十三页,共九十一页 7.2 7.2 图像的读写和查询图像的读写和查询7.2.2 7.2.2 图像文件的写入图像文件的写入 imwrite(A,filename,fmt):写图像写图像A到文件名到文件名filename中,格式为
9、中,格式为fmtimwrite(X,map,filename,fmt):写索引图像写索引图像X和它和它相连的颜色映像表相连的颜色映像表map到文件名到文件名filename中,格式为中,格式为fmt 例如:例如:imwrite(A,myfile.jpg,Quality,100);写图像矩阵到文件名为写图像矩阵到文件名为myfile.jpg的文件中,参的文件中,参数数Quality,100是控制存入时压缩比的。是控制存入时压缩比的。本讲稿第十四页,共九十一页 7.2 7.2 图像的读写和查询图像的读写和查询7.2.3 7.2.3 图像文件信息的查询图像文件信息的查询 info=imfinfo(f
10、ilename):从图像文件中查询其信息,从图像文件中查询其信息,包括文件名、路径、格式、版本号、文件修改时间、包括文件名、路径、格式、版本号、文件修改时间、文件大小、图像宽度和长度、每个像素的位数、图文件大小、图像宽度和长度、每个像素的位数、图像类型等。像类型等。例如:例如:info=imfinfo(football.jpg)本讲稿第十五页,共九十一页 7.3 7.3 图像的显示图像的显示7.3.1 7.3.1 标准图像显示标准图像显示imshow(I,n)imshow(I,low high)imshow(X,map)参考参考MATLAB帮助帮助moon=imread(moon.tif);i
11、mshow(moon);或者:或者:imshow(moon.tif);moon=getimage本讲稿第十六页,共九十一页 7.3 7.3 图像的显示图像的显示7.3.2 7.3.2 图像的特殊显示技术图像的特殊显示技术添加颜色条添加颜色条显示多帧图像阵列显示多帧图像阵列多图的显示多图的显示纹理映射纹理映射 本讲稿第十七页,共九十一页 7.3 7.3 图像的显示图像的显示7.3.2 7.3.2 图像的特殊显示技术图像的特殊显示技术添加颜色条添加颜色条 RGB=imread(saturn.png);I=rgb2gray(RGB);h=1 2 1;0 0 0;-1-2-1;I2=filter2(h
12、,I);imshow(I2,),colorbar本讲稿第十八页,共九十一页 7.3 7.3 图像的显示图像的显示7.3.2 7.3.2 图像的特殊显示技术图像的特殊显示技术显示多帧图像阵列显示多帧图像阵列l多帧的单帧显示多帧的单帧显示l多帧的一次性显示多帧的一次性显示l将多帧阵列转化为电影将多帧阵列转化为电影 本讲稿第十九页,共九十一页l多帧的单帧显示多帧的单帧显示 load mri imshow(D(:,:,:,7)l多帧的一次性显示多帧的一次性显示 load mri montage(D,map)l将多帧阵列转化为电影将多帧阵列转化为电影 load mri mov=immovie(D,map
13、);movie(mov)本讲稿第二十页,共九十一页 7.3 7.3 图像的显示图像的显示7.3.2 7.3.2 图像的特殊显示技术图像的特殊显示技术多图的显示多图的显示 例例1.多幅图像在不同窗口显示多幅图像在不同窗口显示X1,map1=imread(forest.tif);X2,map2=imread(trees.tif);imshow(X1,map1),figure,imshow(X2,map2)本讲稿第二十一页,共九十一页 7.3 7.3 图像的显示图像的显示7.3.2 7.3.2 图像的特殊显示技术图像的特殊显示技术多图的显示多图的显示 例例2.多幅图像在同一窗口显示多幅图像在同一窗口
14、显示X1,map1=imread(forest.tif);X2,map2=imread(trees.tif);subplot(1,2,1),imshow(X1,map1)subplot(1,2,2),imshow(X2,map2)使用同一个颜色映像表,产生不能接受的显示结果,使使用同一个颜色映像表,产生不能接受的显示结果,使用用subimagesubimage可以改变这一情况可以改变这一情况本讲稿第二十二页,共九十一页 7.3 7.3 图像的显示图像的显示7.3.2 7.3.2 图像的特殊显示技术图像的特殊显示技术多图的显示多图的显示 例例3.多幅图像在同一窗口显示多幅图像在同一窗口显示X1,
15、map1=imread(forest.tif);X2,map2=imread(trees.tif);subplot(1,2,1),subimage(X1,map1)subplot(1,2,2),subimage(X2,map2)subimage在显示之前,将图像转换为真彩色,因此避在显示之前,将图像转换为真彩色,因此避免了免了colormap的共享问题。的共享问题。本讲稿第二十三页,共九十一页 7.3 7.3 图像的显示图像的显示7.3.2 7.3.2 图像的特殊显示技术图像的特殊显示技术纹理映射纹理映射:将图像显示在一个特定的参数曲面上将图像显示在一个特定的参数曲面上 warp:MATLAB
16、中利用插值算法将图像映射到曲面网中利用插值算法将图像映射到曲面网格上格上 例例.将将peppers.png图像纹理映射到圆柱面和球面图像纹理映射到圆柱面和球面 x,y,z=cylinder;I=imread(peppers.png);subplot(1,2,1),warp(x,y,z,I);x,y,z=sphere(50);subplot(1,2,2),warp(x,y,z,I);本讲稿第二十四页,共九十一页 7.4 7.4 图像的算术运算图像的算术运算图像的加法图像的加法 imadd图像的减法图像的减法 imsubtract图像的乘法图像的乘法 immultiply图像的除法图像的除法 im
17、divide图像的补图像的补 imcomplement图像的绝对值的差图像的绝对值的差 imabsdiff图像的线性组合图像的线性组合 imlincomb 本讲稿第二十五页,共九十一页 7.4 7.4 图像的算术运算图像的算术运算I=imread(rice.png);I2=imread(cameraman.tif);K=imdivide(imadd(I,I2),2);%not recommendedK=imlincomb(.5,I,.5,I2);%recommended本讲稿第二十六页,共九十一页 7.5 7.5 图像的几何操作图像的几何操作图像的缩放图像的缩放 imresize图像的旋转图像
18、的旋转 imrotate图像的剪裁图像的剪裁 imcrop图像的一般几何变换图像的一般几何变换 imtransform 本讲稿第二十七页,共九十一页 7.5.1 7.5.1 图像的插值运算图像的插值运算最近邻插值方法(最近邻插值方法(Nearest neighbor)双线性插值方法(双线性插值方法(Bilinear)双三次插值方法(双三次插值方法(Bicubic)本讲稿第二十八页,共九十一页 7.5.2 7.5.2 图像的缩放和旋转图像的缩放和旋转B=imresize(A,m,method)B=imresize(A,mrows ncols,method)I=imread(circuit.tif
19、);J=imresize(I,1.25);imshow(I)figure,imshow(J)I=imread(circuit.tif);J=imresize(I,100 150,bilinear);imshow(I)figure,imshow(J)本讲稿第二十九页,共九十一页 7.5.2 7.5.2 图像的缩放和旋转图像的缩放和旋转B=imrotate(A,angle,method,crop)I=imread(circuit.tif);J=imrotate(I,35,bilinear);imshow(I)figure,imshow(J)如果:如果:J=imrotate(I,35,bilinea
20、r,crop);结果的区别?结果的区别?本讲稿第三十页,共九十一页 7.5.3 7.5.3 图像的剪裁图像的剪裁B=imcrop(A)B=imcrop(X,map)用户可以用鼠标选取区域,也可以在函数中定义图像用户可以用鼠标选取区域,也可以在函数中定义图像的矩形区域参数的矩形区域参数I=imread(circuit.tif);J=imcrop(I);figure,imshow(J)上面剪切图像上面剪切图像J也可以用:也可以用:J=imcrop(I,60 40 100 90);其中位置矢量表示为:其中位置矢量表示为:xmin ymin width height.本讲稿第三十一页,共九十一页 7.
21、5.4 7.5.4 图像的一般几何变换图像的一般几何变换B=imtransform(A,TFORM,INTERP)它根据变换结构(它根据变换结构(TFORM)变换二维图像)变换二维图像A,变,变换结构换结构TFORM是由是由maketform函数或函数或cp2tform函函数返回的,数返回的,INTERP可以取可以取nearest,bilinear(默认值默认值)或或bicubic本讲稿第三十二页,共九十一页 7.5.4 7.5.4 图像的一般几何变换图像的一般几何变换B=imtransform(A,TFORM,INTERP)I=imread(cameraman.tif);tform=make
22、tform(affine,1 0 0;0.5 1 0;0 0 1);J=imtransform(I,tform);imshow(J),figure,imshow(J)本讲稿第三十三页,共九十一页 7.6 7.6 图像的线性滤波图像的线性滤波滤波滤波是一种图像修正或增强技术。可以突出图像的某些特征,是一种图像修正或增强技术。可以突出图像的某些特征,也可以删除另一些特征。也可以删除另一些特征。图像滤波图像滤波的本质是一种邻域操作,输出图像的任一个像素值都的本质是一种邻域操作,输出图像的任一个像素值都是通过输入图像对应的像素邻域内的像素值利用一定的算法得到是通过输入图像对应的像素邻域内的像素值利用一
23、定的算法得到的。的。图像的线性滤波图像的线性滤波就是输出图像任一个像素值都是通过输入图像对就是输出图像任一个像素值都是通过输入图像对应的像素邻域内的像素值应的像素邻域内的像素值线性组合线性组合得到的。得到的。图像的线性滤波是通过卷积来完成的。图像的线性滤波是通过卷积来完成的。本讲稿第三十四页,共九十一页 7.6 7.6 图像的线性滤波图像的线性滤波二维卷积函数二维卷积函数 conv2滤波函数滤波函数 filter2图像滤波图像滤波 imfilter预定义滤波器预定义滤波器 fspecial 本讲稿第三十五页,共九十一页7.6.1 二维卷积函数二维卷积函数 conv2 A=17 24 1 8 1
24、5 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 h=8 1 6 3 5 7 4 9 2 C=conv2(A,h)本讲稿第三十六页,共九十一页卷积步骤:卷积步骤:1.关于卷积核的中心,旋转卷积核关于卷积核的中心,旋转卷积核180度。度。2.滑动卷积核,将卷积核的中心位于图像矩阵的滑动卷积核,将卷积核的中心位于图像矩阵的每一个元素。每一个元素。3.将旋转后的卷积核作为权重,乘以对应的矩阵元将旋转后的卷积核作为权重,乘以对应的矩阵元素素4.求加权和求加权和本讲稿第三十七页,共九十一页计算卷积输出计算卷积输出(2,4)本讲稿第三十八页,共九
25、十一页C=conv2(A,B)C=conv2(A,B,shape)A:输入图像,输入图像,B:卷积核,:卷积核,C:输出图像,若:输出图像,若A大小为大小为mana,B大小为大小为mbnb,则则C大小为(大小为(ma+mb-1)(na+nb-1)shape指定卷指定卷积积运算的范运算的范围围:shape=full(the default),返回全部二返回全部二维维卷卷积结积结果果shape=same,返回与返回与A同同样样大小的卷大小的卷积积中心部分中心部分shape=valid,不考不考虑边虑边界界补补零,返回零,返回C大小大小为为(ma-mb+1)(na-nb+1)本讲稿第三十九页,共九十
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十讲 图像处理精选文档 第十 图像 处理 精选 文档
限制150内