MATLAB图像处理编程与应用 教学课件 ppt 作者张涛 第4章MATLAB图像处理工具箱

上传人:E**** 文档编号:89244324 上传时间:2019-05-22 格式:PPT 页数:74 大小:5.15MB
返回 下载 相关 举报
MATLAB图像处理编程与应用 教学课件 ppt 作者张涛 第4章MATLAB图像处理工具箱_第1页
第1页 / 共74页
MATLAB图像处理编程与应用 教学课件 ppt 作者张涛 第4章MATLAB图像处理工具箱_第2页
第2页 / 共74页
MATLAB图像处理编程与应用 教学课件 ppt 作者张涛 第4章MATLAB图像处理工具箱_第3页
第3页 / 共74页
MATLAB图像处理编程与应用 教学课件 ppt 作者张涛 第4章MATLAB图像处理工具箱_第4页
第4页 / 共74页
MATLAB图像处理编程与应用 教学课件 ppt 作者张涛 第4章MATLAB图像处理工具箱_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《MATLAB图像处理编程与应用 教学课件 ppt 作者张涛 第4章MATLAB图像处理工具箱》由会员分享,可在线阅读,更多相关《MATLAB图像处理编程与应用 教学课件 ppt 作者张涛 第4章MATLAB图像处理工具箱(74页珍藏版)》请在金锄头文库上搜索。

1、第4章 图像灰度变换,Matlab对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。 图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、数学形态学处理等图像处理操作。,图像处理工具箱主要有:, Image Acquisition Toolbox(图像采集工具箱) Image Processing Toolbox(图像处理工具箱) Signal Processing Toolbox(信号处理工具箱) Wavelet Toolbox(小波分析工具箱) Statistics

2、Toolbox(统计工具箱) Bioinformatics Toolbox(生物信息学工具箱),4.1 MATLAB图像处理程序的特点,上手容易,开发周期短,见效快。 程序代码编写量明显较小 有专门的图像处理工具箱 MATLAB程序不能脱离MATLAB平台而独立存在,4.2 图像处理工具箱的图像类型,图像处理工具箱支持4种图像类型,它们是: 真彩色图像(RGB images) 索引色图像(index images) 灰度图像(intensity images) 二值图像(binary images) Matlab还支持由多帧图像组成的图像序列,真彩色图像,真彩色图像用 R、G、B 3个分量表示

3、1个像素的颜色,数据结构是一个mn3的多维数组。如果读取图像中(100,50)处像素值,可以查看三元组(100,50,1:3)。 真彩色图像可用双精度存储,亮度值范围是0,1 常用存储方法是无符号整型存储,亮度值范围为0,255,图1 真彩色图像的结构,真彩色图像数据格式,RGB图像的表示方法-三幅分量图像合成,索引色图像,索引图像是把像素值作为RGB调色板下标的图像。 索引色图像包含2个结构,一个是调色板map;另一个是图像数据矩阵X。 调色板是一个有3列和若干行的色彩映像矩阵,矩阵每行代表一种色彩,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定颜色。 图像数据是uint8或是双

4、精度的。 Matlab中调色板的色彩强度是0,1中的浮点数,0代表最暗,1代表最亮。,图2 索引色图像的结构,索引图像的数据格式,索引图像的double与uint8型,double,uint8,图像数据,调色板,索引图像的表示方法,读入一幅索引图像的语句如下: X, map=imread(trees.tif); 显示一幅索引图像,可使用语句: imshow(X, map) 或者: image(X) %用系统当前的颜色表显示索引图像 colormap(map) %将系统当前颜色表设置为map,举例: X, map=imread(trees.tif); image(X) 其效果等同于: imsho

5、w(X, colormap),举例: X, map=imread(trees.tif); image(X) colormap(map); 其效果等同于: imshow(X, map),MATLAB提供了一些预定义的彩色表,imshow(X, hsv),imshow(X, autumn),imshow(X, copper),imshow(X, gray(64),灰度图像,存储灰度图像只需要一个数据矩阵,数据类型可以是double也可以是uint8。 存储时会使用一个默认的调色板来显示图像。,二值图像,与灰度图像相同,二值图像只需一个数据矩阵,每个像素只有2个灰度值。可以采用uint8或doubl

6、e类型存储,工具箱中以二值图像作为返回结果的函数都使用uint8类型。,图像序列,图像处理工具箱支持将多帧图像连接成图像序列。使用cat函数将分散图像合并成图像序列,前提是各图像尺寸必须相同。 将A1、A2、A3、A4、A5五幅图像合并成一个图像序列A,Matlab语句为 A=cat (1,A1,A2,A3,A4,A5), 1维,纵向排列 A=cat (2,A1,A2,A3,A4,A5),2维,横向排列 A=cat (3,A1,A2,A3,A4,A5),3维,竖向排列,图像序列也可以产生一个四维数组,图像帧的序号在图像的长、宽、颜色后构成第四维。 一个包含了5幅400300真彩色图像的序列,大

7、小为 40030035 一个包含了5幅400300灰度或是索引图像的序列,其大小为 40030015 A=cat (4,A1,A2,A3,A4,A5),4维 提取其中一帧(如第2帧):A(:,:,:,2),4.3 Matlab图像类型转换,索引图像,灰度图像,真彩图像,二值图像,数据矩阵,1.dither函数,功能:图像抖动 把RGB图像转换成索引图像 把灰度图像转换成二值图像。 格式:X = dither(RGB,map) BW = dither(I),(1)RGB图像抖动成索引图像,I=imread(autumn.tif); map=pink(1024); X=dither(I,map);

8、 imshow(I); figure, imshow(X,map); colorbar,(2)灰度图像抖动成二值图像,I=imread(rice.png); bw=dither(I); imshow(I); figure,imshow(bw);,2. gray2ind函数,功能:将灰度图像转换成索引图像。 格式:X,map= gray2ind(I,n) n的缺省值为64。,I=imread(cameraman.tif); X,map=gray2ind(I,16); subplot(121),imshow(I); subplot(122), imshow(X,map);,3. grayslice

9、函数,功能:通过设定阈值将灰度图像转换成索引色图像。 格式:X=grayslice(I,n) I=imread(cameraman.tif); X=grayslice(I,16); imshow(I); figure,imshow(X,bone(16);,功能:将灰度图像、索引色图像和真彩色图像转化成二值图像。 格式:BW=im2bw(I, level) BW=im2bw( X, map, level) BW=im2bw(RGB, level) level是一个归一化阈值,取值在0,1。,4.im2bw函数,I=imread(autumn.tif); X=im2bw(I,0.5); imsho

10、w(I); figure,imshow(X);,功能:将索引图像转换成灰度图像。 格式:I= ind2gray(X, map),5.ind2gray函数,功能:将索引色图像转换成真彩色图像。 格式:RGB=ind2rgb(X, map) 例:I,map=imread(m83.tif); X=ind2rgb(I,map); imshow(I,map); figure,imshow(X);,6.ind2rgb函数,功能:将一个数据矩阵转换成一幅灰度图像。 格式:I=mat2gray(A),7.mat2gray函数,I = imread(rice.png); J = filter2(fspecial

11、(sobel), I); K = mat2gray(J); figure, imshow(I), figure, imshow(K),功能:将一幅真彩色图像转换成灰度图像。 格式:I= rgb2gray(RGB) 例:RGB=imread(autumn.tif); X=rgb2gray(RGB); imshow(RGB); figure,imshow(X);,8. rgb2gray函数,转换效果图,功能:将真彩色图像转换成索引色图像。 格式:X,map = rgb2ind(RGB,n) 例: RGB=imread(autumn.tif); X,map=rgb2ind(RGB,128) imsh

12、ow(RGB); figure,imshow(X,map);,9. rgb2ind函数,4.4 图像文件的读写和查询,imread:读取图形文件格式的图像; imwrite:写入图形文件格式的图像; imfinfo:获取图像的信息; loadsave:以Mat文件加载或保存矩阵数据; imshow:显示加载到Matlab中的图像。,函数imread可完成图形图像文件的读取操作,其语法如下 一般:A=imread(filename, fmt) 索引图像:X, map=imread(filename, fmt),X, map=imread(m83.tif, tif),1 图形图像文件的读取,imd

13、ata = imread(ngc6543a.jpg); image(imdata),imread函数可以从图形文件中以特定位宽读取图像。读取的大多数图像均为8bit。加载到内存中时,就存储在类uint8中。 对于索引图像来说,即使图像阵列的本身为uint8或uint16,imread函数仍然将颜色映像表读取并存储到一个双精度的浮点类型阵列中。,2 图形图像文件的写入(保存),imwrite函数可以完成图形图像文件的写入操作, 其语法为: imwrite(A, filename, fmt) imwrite(X, map, filename, fmt) 缺省的保存方式:uint8数据格式。Matl

14、ab中许多图像都是8bit,不需要双精度的浮点数据。,imwrite(X, map, lena.bmp, bmp),A=imread(onion.png); B=A(50:100,100:150,:); imwrite(B,onion-part.png) C=imread(onion-part.png); subplot(1,2,1) image(A);axis image;title(全部) subplot(1,2,2) image(C);axis image;title(部分),3 图形图像文件信息的查询,imfinfo函数用于从图像文件中查询其信息。所获取信息依文件类型不同而不同,至少包

15、含下面内容 文件名 文件格式 文件格式的版本号 文件修改时间 文件的字节大小 图像的宽度(像素) 图像的长度(像素) 每个像素的位数 图像类型(RGB图像、灰度图像还是索引图像),imfinfo(autumn.tif),info = Filename: 1x64 char FileModDate: 01-十月-1996 16:19:44 FileSize: 27387 Format: jpg FormatVersion: Width: 600 Height: 650 BitDepth: 24 ColorType: truecolor FormatSignature: NumberOfSamples: 3 CodingMethod: Huffman CodingProcess: Sequential Comment: 1x69 char,4 图像文件的显示,图像显示函数imshow。其语法格式如下 灰度图像 imshow(I) imshow(I, n) imshow(I, low high) 二值图像 imshow(BW) 索引图像 imshow(X, map) 真彩色图像 imshow(RGB),其中n为灰度级数目,缺省值为256。low high为图像数据的值域。,索引图像及其显示,索引图像包括数据矩阵X和颜色映像矩阵map。 其中map是一个p3的数据矩阵,其每个元素

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号