第七讲 MATLAB在图像处理中的应用.ppt
《第七讲 MATLAB在图像处理中的应用.ppt》由会员分享,可在线阅读,更多相关《第七讲 MATLAB在图像处理中的应用.ppt(91页珍藏版)》请在麦多课文档分享上搜索。
1、第七讲 MATLAB在图像处理中的应用,7.1 概述7.2 图像的读写和查询7.3 图像的显示7.4 图像的算术运算7.5 图像的几何操作7.6 线性滤波7.7 图像的变换7.8 图像分析和增强7.9 基于区域的图像处理,7.1 概述,7.1.1 MATLAB中的图像和图像处理工具箱MATLAB中大多数图像是用二维数组(矩阵)double(64位)浮点型,或uint8(8位无符号整数)、uint16(16位无符号整数)来存储的,矩阵中的每一个元素对应图像中的一个像素(pixel).例如: 一幅由200行300列不同灰度值的点组成的图像可以用200X300的矩阵来存储。 对于彩色图像,如RGB图
2、像,需要用三维数组来存储。,7.1.2 MATLAB中的图像类型,二值图像(Binary):图像的取值为0或1。 索引图像(Indexed,pseudocolor):图像为mXn矩阵,矩阵元素的值指向颜色映像表(colormap)。 灰度图像(intensity,gray scale,gray level) :图像为mXn矩阵,矩阵元素的值指的是灰度值。对single or double矩阵取值范围:0,1,对 uint8矩阵取值范围:0,255,对uint16矩阵取值范围:0,65535,对int16矩阵取值范围:-32768,32767。 真彩色图像(RGB):图像为mXnX3的矩阵。,二
3、值图像(Binary),索引图像(Indexed),灰度图像(Grayscale),真彩色图像(Truecolor),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 image ind2gray:C
4、onvert an indexed image to a grayscale image。,7.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 ind
5、exed image.,im2uint8rgb2 = im2uint8(rgb1) im2uint16 im2int16 im2single im2double,7.1.4 图像数据类型之间的转换,用N维数组来存储图像序列mXnXp的数组表示p个二维图像,7.1.5 图像序列,mXnX3Xp 表示 ?,MATLAB支持下列图像文件格式: BMP (Microsoft Windows Bitmap 位图) HDF (Hierarchical Data Format 层次数据) JPEG (Joint Photographic Expert Group 静止图像压缩标准) PCX (Paintbr
6、ush 画刷格式 ) PNG (Portable Network Graphics 可移植网络图像) TIFF (Tagged Image File Format 标记图像文件) XWD (X Window Dump) GIF (Graphics Interchange Format 图形交换),7.1.5 图像文件格式,7.2 图像的读写和查询,7.2.1 图像文件的读取 A = imread(文件名,文件格式) X,map = imread(文件名,文件格式) 文件名必须在MATLAB的搜索路径范围内,否则需要指出完整的路径。RGB = imread(football.jpg); X,ma
7、p = imread(trees.tif);,7.2 图像的读写和查询,7.2.2 图像文件的写入imwrite(A, filename,fmt):写图像A到文件名filename中,格式为fmt imwrite(X, map,filename,fmt):写索引图像X和它相连的颜色映像表map到文件名filename中,格式为fmt例如: imwrite(A,myfile.jpg,Quality,100); 写图像矩阵到文件名为myfile.jpg的文件中,参数Quality,100是控制存入时压缩比的。,7.2 图像的读写和查询,7.2.3 图像文件信息的查询info = imfinfo(
8、filename):从图像文件中查询其信息,包括文件名、路径、格式、版本号、文件修改时间、文件大小、图像宽度和长度、每个像素的位数、图像类型等。例如: info = imfinfo(football.jpg),7.3 图像的显示,7.3.1 标准图像显示 imshow(I, n) imshow(I,low high) imshow(X, map) 参考MATLAB帮助moon = imread(moon.tif); imshow(moon); 或者:imshow(moon.tif);moon = getimage,7.3 图像的显示,7.3.2 图像的特殊显示技术 添加颜色条 显示多帧图像阵列
9、 多图的显示 纹理映射,7.3 图像的显示,7.3.2 图像的特殊显示技术 添加颜色条RGB = imread(saturn.png);I = rgb2gray(RGB);h = 1 2 1; 0 0 0; -1 -2 -1;I2 = filter2(h,I);imshow(I2,), colorbar,7.3 图像的显示,7.3.2 图像的特殊显示技术 显示多帧图像阵列 多帧的单帧显示 多帧的一次性显示 将多帧阵列转化为电影,多帧的单帧显示load mriimshow(D(:,:,:,7) 多帧的一次性显示load mrimontage(D,map) 将多帧阵列转化为电影load mrimo
10、v = immovie(D,map);movie(mov),7.3 图像的显示,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.2 图像的特殊显示技术 多图的显示例2. 多幅图像在同一窗口显示 X1,map1 = imread(forest.tif); X2,map2 = imread(trees.tif); subplot(1,2,1), i
11、mshow(X1,map1) subplot(1,2,2), imshow(X2,map2) 使用同一个颜色映像表,产生不能接受的显示结果,使用subimage可以改变这一情况,7.3 图像的显示,7.3.2 图像的特殊显示技术 多图的显示例3. 多幅图像在同一窗口显示 X1,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
12、的共享问题。,7.3 图像的显示,7.3.2 图像的特殊显示技术 纹理映射:将图像显示在一个特定的参数曲面上warp:MATLAB中利用插值算法将图像映射到曲面网格上例. 将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 图像的算术运算,图像的加法 imadd 图像的减法 imsubtract 图像的乘法 immultiply 图像的除法 imdivi
13、de 图像的补 imcomplement 图像的绝对值的差 imabsdiff 图像的线性组合 imlincomb,7.4 图像的算术运算,I = imread(rice.png); I2 = imread(cameraman.tif); K = imdivide(imadd(I,I2), 2); % not recommended K = imlincomb(.5,I,.5,I2); % recommended,7.5 图像的几何操作,图像的缩放 imresize 图像的旋转 imrotate 图像的剪裁 imcrop 图像的一般几何变换 imtransform,7.5.1 图像的插值运算,
14、最近邻插值方法(Nearest neighbor) 双线性插值方法(Bilinear) 双三次插值方法(Bicubic),7.5.2 图像的缩放和旋转,B = imresize(A, m, method) B = imresize(A, mrows ncols, method),I = imread(circuit.tif); J = imresize(I,1.25); imshow(I) figure, imshow(J),I = imread(circuit.tif); J = imresize(I,100 150, bilinear); imshow(I) figure, imshow(
15、J),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, bilinear,crop); 结果的区别?,7.5.3 图像的剪裁,B = imcrop(A) B = imcrop(X,map)用户可以用鼠标选取区域,也可以在函数中定义图像的矩形区域参数,I = imread(circuit.tif); J = imcrop(I); fig
16、ure,imshow(J) 上面剪切图像J也可以用:J = imcrop(I,60 40 100 90);其中位置矢量表示为: xmin ymin width height.,7.5.4 图像的一般几何变换,B = imtransform(A,TFORM,INTERP)它根据变换结构(TFORM)变换二维图像A,变换结构TFORM是由maketform函数或cp2tform函数返回的,INTERP可以取nearest, bilinear(默认值)或bicubic,7.5.4 图像的一般几何变换,B = imtransform(A,TFORM,INTERP) I = imread(cameram
17、an.tif); tform = maketform(affine,1 0 0;0.5 1 0;0 0 1); J = imtransform(I,tform); imshow(J), figure, imshow(J),7.6 图像的线性滤波,滤波是一种图像修正或增强技术。可以突出图像的某些特征,也可以删除另一些特征。 图像滤波的本质是一种邻域操作,输出图像的任一个像素值都是通过输入图像对应的像素邻域内的像素值利用一定的算法得到的。 图像的线性滤波就是输出图像任一个像素值都是通过输入图像对应的像素邻域内的像素值线性组合得到的。 图像的线性滤波是通过卷积来完成的。,7.6 图像的线性滤波,二维
18、卷积函数 conv2 滤波函数 filter2 图像滤波 imfilter 预定义滤波器 fspecial,7.6.1 二维卷积函数 conv2,A = 17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9,h = 8 1 63 5 74 9 2,C=conv2(A,h),卷积步骤:,关于卷积核的中心,旋转卷积核180度。 滑动卷积核,将卷积核的中心位于图像矩阵的每一个元素。 将旋转后的卷积核作为权重,乘以对应的矩阵元素 求加权和,计算卷积输出(2,4),C=conv2(A,B) C=conv2(A,B,shape) A:
19、输入图像,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),7.6.2 相关运算实现滤波:filter2,相关运算(correlation) 滑动相关核,将相关核的中心位于图像矩阵的每一个元素。 将相关核作为权重,乘以对应的矩阵元素 求加权和用相关运算实现滤波的函数是filter2
20、 B = filter2(h,A),计算相关输出(2,4),7.6.3 图像的线性滤波,imfilter B=imfilter(A,H,option1,option2,) A:多维图像阵列,H:多维滤波器,option1, option2决定边缘上的处理方法,输出图像大小,采用与filter2相同的方法还是卷积的方法。,例:利用imfilter函数实现均值滤波,I = imread(coins.png); h = ones(5,5) / 25; I2 = imfilter(I,h); imshow(I), title(Original Image); figure, imshow(I2), t
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七 MATLAB 图像 处理 中的 应用 PPT
