收藏 分销(赏)

MATLAB图像显示与格式转换.doc

上传人:精*** 文档编号:3066606 上传时间:2024-06-14 格式:DOC 页数:17 大小:4.42MB
下载 相关 举报
MATLAB图像显示与格式转换.doc_第1页
第1页 / 共17页
MATLAB图像显示与格式转换.doc_第2页
第2页 / 共17页
MATLAB图像显示与格式转换.doc_第3页
第3页 / 共17页
MATLAB图像显示与格式转换.doc_第4页
第4页 / 共17页
MATLAB图像显示与格式转换.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、第五讲 MATLAB可视化(三)图像显示Matlab进行图像处理的步骤如下:读取图像到Matlab工作空间对图像矩阵进行格式转换对图像矩阵数据进行处理 显示图像 保存图像【目录】一、图像文件格式21、调色板22、图像类型23、图像文件格式3二、读图像和图像信息31、读取图像32、读取图像信息4三、图像类别与数据格式5四、图像显示71、imshow(I,n)72、imshow(I,low,high)83、imshow(BW)94、imshow(X,MAP)125、imshow(RGB)136、imshow filename147、subimage14五、保存图像151、imwrite函数15六、

2、图像数据格式转换161、索引图像162、灰度图像163、真彩色图像174、二值图像17【正文】一、图像文件格式1、调色板调色板是包含不同颜色的颜色表,每种颜色以红、绿、蓝三种颜色的组合来表示,图像的每一个像素对应一个数字,而该数字对应调色板中的一种颜色。调色板的单元个数是与图像的颜色数相对应的,256色图像的调色板就有256个单元。真彩图像的每个像素直接用R、G、B三个字节来表示颜色,因此不需要调色板。2、图像类型图像类型简称显示的颜色数特 点1位单色单色21=2种(黑、白)每象素对应一个值,取值为0和18位灰度黑白28=256个(黑到白)每象素对应一个值,取值为0255,每值对应一灰度8位彩

3、色256色28=256种彩色每象素对应一个值,取值为0255,每值对应一颜色16位灰度216=65536个(黑到白)每象素对应一个值,取值为065535,每值对应一灰度24位彩色真彩色282828=16M种彩色每象素对应三个值,分别代表R、G、B,取值为025548位彩色216216216=0.25G种色每象素对应三个值,分别代表R、G、B,取值为0655353、图像文件格式文件类型说明1位单色8位灰度8位彩色16位灰度24位彩色48位彩色BMP微软视窗系统图像文件格式GIF用于网页上的动画、透明TIFF可储存多幅图像PCXPaintbrush软件图像格式JPG连续色调静态图像数字压缩PSDP

4、hotoshop软件图像格式二、读图像和图像信息1、读取图像函数imread可以从任何Matlab支持的图像文件格式中,以任意位深度读取一幅图像。格式为:X,MAP=imread(FILENAME,FMT),其中:FILENAME为需要读入的图像文件名称,FMT为图像格式。【例】图像读取演示X1,MAP1=imread(演示图像1位黑白.tif);X2,MAP2=imread(演示图像8位灰度.tif);X3,MAP3=imread(演示图像256色.tif);X4,MAP4=imread(演示图像16位灰度.tif);X5,MAP5=imread(演示图像24位色.tif);X6,MAP6=

5、imread(演示图像48位色.tif);whos Name Size Bytes Class MAP1 0x0 0 double array MAP2 0x0 0 double array MAP3 256x3 6144 double array MAP4 0x0 0 double array MAP5 0x0 0 double array MAP6 0x0 0 double array X1 427x427 182329 logical array X2 427x427 182329 uint8 array X3 427x427 182329 uint8 array X4 427x427

6、364658 uint16 array X5 427x427x3 546987 uint8 array X6 427x427x3 1093974 uint16 arrayGrand total is 1824058 elements using 2558750 bytes 2、读取图像信息可以通过调用imfinfo函数获得与图像文件有关的信息,格式如下:INFO=imfinfo(FILENAME,FMT)其中:返回的INFO是Matlab的一个结构体。【例】查看图像信息INFO=imfinfo(演示图像48位色.tif) INFO = Filename: 1x36 char FileModDa

7、te: 23-May-2004 22:14:23 FileSize: 1107548 Format: tif FormatVersion: Width: 427 Height: 427 BitDepth: 48 ColorType: truecolor FormatSignature: 73 73 42 0 ByteOrder: little-endian NewSubfileType: 0 BitsPerSample: 16 16 16 Compression: Uncompressed PhotometricInterpretation: RGB StripOffsets: 13528 S

8、amplesPerPixel: 3 RowsPerStrip: 427 StripByteCounts: 1093974 XResolution: 2.7115 YResolution: 2.7115 ResolutionUnit: Inch Colormap: PlanarConfiguration: Chunky TileWidth: TileLength: TileOffsets: TileByteCounts: Orientation: 1 FillOrder: 1 GrayResponseUnit: 0.0100 MaxSampleValue: 65535 65535 65535 M

9、inSampleValue: 0 Thresholding: 1 NewSubFileType: 0 Software: Adobe Photoshop 7.0 DateTime: 2004:05:23 22:14:23 三、图像类别与数据格式双精度类:Double(每个元素占8个字节)整数类:Unit8(每个元素占1个字节)整数类(Unit16)(每个元素占2个字节)真彩图像数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,1(无调色板)数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,255(无调色

10、板)数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,65535(无调色板)索引图像图像数组大小:mn图像元素取值:1,p色度矩阵:p3色度元素值:0,1图像数组大小:mn图像元素取值:0,p-1色度矩阵:p3色度元素值:0,255图像数组大小:mn图像元素取值:0,p-1色度矩阵:p3色度元素值:0,65535灰度图像图像数组大小:mn图像元素值:0,1色度矩阵:p3色度元素值:0,1图像数组大小:mn图像元素值:0,255色度矩阵:p3色度元素值:0,1图像数组大小:mn图像元素值:0,65535色度矩阵:p3色度元素值:0,1二值图像图像数组

11、大小:mn图像元素值:0或1图像数组大小:mn图像元素值:0或1四、图像显示Matlab的图像显示函数主要有imshow、colorbar和subimage三个。1、imshow(I,n)显示灰度级为n的图像,n缺省为256。【例】按256灰度级显示I=imread(moon.tif);imshow(I,256)colorbar 【例】按8灰度级显示I=imread(moon.tif);imshow(I,8)colorbar 2、imshow(I,low,high)以灰度范围low,high显示图像,如果不知道灰度范围,可以用imshow(I,)显示。【例】按最大灰度范围显示I=imread(

12、moon.tif);imshow(I,)colorbar 【例】按指定灰度范围显示I=imread(moon.tif);imshow(I,64,128)colorbar 3、imshow(BW)显示二值图像。【例】双精度灰度图像bw1=zeros(100,100);bw1(2:2:98,2:2:98)=1;imshow(bw1);whos bw1 Name Size Bytes Class bw1 100x100 80000 double arrayGrand total is 10000 elements using 80000 bytes【例】8位的灰度图像bw1=zeros(100,10

13、0);bw1(2:2:98,2:2:98)=1;bw2=uint8(bw1);imshow(bw2,);colorbarwhos bw2 Name Size Bytes Class bw2 100x100 10000 uint8 arrayGrand total is 10000 elements using 10000 bytes【例】二值图像bw1=zeros(100,100);bw1(2:2:98,2:2:98)=1;bw2=uint8(bw1);bw3=bw2=0;imshow(bw3);whos bw3 Name Size Bytes Class bw3 100x100 10000

14、logical arrayGrand total is 10000 elements using 10000 bytes【例】显示二值图像BW=imread(circles.tif);imshow(BW); 【例】取反显示二值图像BW=imread(circles.tif);imshow(BW); 【例】显示二值图像clfBW=imread(circles.tif);imshow(BW,1 0 0;0 0 1); 4、imshow(X,MAP)显示索引图像,X为数据图像矩阵,MAP为调色板。【例】显示索引图像X,MAP=imread(canoe.tif);imshow(X,MAP);color

15、bar 【例】显示伪彩色图像I=imread(moon.tif);imshow(I,jet(256)colorbar5、imshow(RGB)显示真彩色图像。【例】rgb=imread(flowers.tif);imshow(rgb); 6、imshow filename直接显示图像。【例】直接显示图像imshow(moon.tif);I=getimage;whos I Name Size Bytes Class I 537x358 192246 uint8 arrayGrand total is 192246 elements using 192246 bytes7、subimage多图显示

16、多个调色板的图像。【例】load trees;x2,map2=imread(forest.tif);subplot(2,1,1),subimage(X,map);colorbarsubplot(2,1,2),subimage(x2,map2);colorbar 【例】不用专用函数显示多图load trees;x2,map2=imread(forest.tif);subplot(2,1,1),imshow(x2,map2);colorbarsubplot(2,1,2),imshow(X,map);colorbar五、保存图像1、imwrite函数imwrite(I,文件名,文件格式)保存无调色板

17、的图像imwrite(X,MAP,文件名,文件格式)保存有调色板的图像imwrite(.,文件名)文件名中含格式imwrite(.,参数,值)指定保存参数文件格式:bmp、jpg、pcx、tif。【例】将tif图像保存为jpg图像x,map=imread(canoe.tif);imwrite(x,map,canoe.jpg,JPG,Quality,75)六、图像数据格式转换doubleuint8uint161、索引图像假设:X8表示8位的索引图像,X16表示16位的索引图像,X64表示双精度的索引图像,则有:X64=double(X8)+1 uint8格式转double格式X64=double

18、(X16)+1 uint16格式转double格式X8=uint8(X64-1) double格式转uint8格式X16=uint16(X64-1) double格式转uint16格式X8=uint8(X16) uint16格式转uint8格式X16=uint16(X8) uint8格式转uint16格式2、灰度图像假设:I8表示8位的灰度图像,I16表示16位的灰度图像,I64表示双精度的灰度图像,则有:I64=double(I8/255) uint8格式转double格式I64=double(I16/65535) uint16格式转double格式I8=uint8(round(I64*25

19、5) double格式转uint8格式I16=uint16(round(I64*65535) double格式转uint16格式I8=uint8(round(I16/257) uint16格式转uint8格式I16=uint16(round(I8*257) uint8格式转uint16格式3、真彩色图像假设:RGB8表示8位的真彩图像,RGB16表示16位的真彩图像,RGB64表示双精度的真彩图像,则有:RGB64=double(RGB8/255) uint8格式转double格式RGB64=double(RGB16/65535) uint16格式转double格式RGB8=uint8(round(RGB64*255) double格式转uint8格式RGB16=uint16(round(RGB64*65535) double格式转uint16格式RGB8=uint8(round(RGB16/257) uint16格式转uint8格式RGB16=uint16(round(RGB8*257) uint8格式转uint16格式4、二值图像假设BW8表示8位二值图像,BW64表示双精度二值图像,则有:BW64=double(BW8) uint8格式转double格式BW8=uint8(BW64)=0 double格式转uint8格式plot3(X,Y,Z,bo)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服