资源描述:
《MATLAB图像类型转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MATLAB图像类型转换003.MATLAB图像类型转换 图像类型转换函数 --------------------------------------------------------------------------- 函数名 函数功能 --------------------------------------------------------------------------- dither 图像抖动,将灰度图变成二值图,或将真彩色图像抖动成索引色图像 gra
2、y2ind 将灰度图像转换成索引图像 grayslice 通过设定阈值将灰度图像转换成索引色图像 im2bw 通过设定亮度阈值将真彩色、索引色、灰度图转换成二值图 ind2gray 将索引色图像转换成灰度图像 ind2rgb 将索引色图像转换成真彩色图像 mat2gray 将一个数据矩阵转换成一副灰度图 rgb2gray 将一副真彩色图像转换成灰度图像 rgb2ind 将真彩色图像转换成索引色图像 ----------------------------------------
3、------------------------------------4.图像文件的读写和查询4.1图形图像文件的读取 利用函数imread()可完成图形图像文件的读取,语法: A=imread(filename,fmt) [X,map]=imread(filename,fmt) [...]=imread(filename) [...]=imread(filename,idx)(只对TIF格式的文件) [...]=imread(filename,ref)(只对HDF格式的文件) 通常,读取的大多数图
4、像均为8bit,当这些图像加载到内存中时,Matlab就将其存放在类uint8中。此为Matlab还支持16bit的PNG和TIF图像,当读取这类文件时,Matlab就将其存贮在uint16中。 注意:对于索引图像,即使图像阵列的本身为类uint8或类uint16,imread函数仍将颜色映象表读取并存贮到一个双精度的浮点类型的阵列中。4.2图形图像文件的写入 使用imwrite函数,语法如下: imwrite(A,filename,fmt) imwrite(X,map,filename,fmt) imwrit
5、e(...,filename) imwrite(...,parameter,value) 当利用imwrite函数保存图像时,Matlab缺省的方式是将其简化道uint8的数据格式。4.3图形图像文件信息的查询 imfinfo()函数5.图像文件的显示5.1索引图像及其显示 方法一: image(X) colormap(map) 方法二: imshow(X,map)5.2灰度图像及其显示 Matlab7.0中,要显示一副灰度图像,可以调用函数imshow或imagesc(即imagesc
6、ale,图像缩放函数) (1)imshow函数显示灰度图像 使用imshow(I) 或使用明确指定的灰度级书目:imshow(I,32) 由于Matlab自动对灰度图像进行标度以适合调色板的范围,因而可以使用自定义大小的调色板。其调用格式如下: imshow(I,[low,high]) 其中,low和high分别为数据数组的最小值和最大值。 (2)imagesc函数显示灰度图像 下面的代码是具有两个输入参数的imagesc函数显示一副灰度图像 imagesc(1,[0,1]); colo
7、rmap(gray); imagesc函数中的第二个参数确定灰度范围。灰度范围中的第一个值(通常是0),对应于颜色映象表中的第一个值(颜色),第二个值(通常是1)则对应与颜色映象表中的最后一个值(颜色)。灰度范围中间的值则线型对应与颜色映象表中剩余的值(颜色)。 在调用imagesc函数时,若只使用一个参数,可以用任意灰度范围显示图像。在该调用方式下,数据矩阵中的最小值对应于颜色映象表中的第一个颜色值,数据矩阵中的最大值对应于颜色映象表中的最后一个颜色值。5.3RGB图像及其显示 (1)image(RGB)
8、 不管RGB图像的类型是double浮点型,还是uint8或uint16无符号整数型,Matlab都能通过image函数将其正确显示出来。 RGB8=uint8(round(RGB64×255));%将double浮点型转换为uint8无符号整型 RGB64=double(RGB8)/255; %将uint8无符号整型转换为double浮点型 RGB16=uint16(rou