【例】显示二值图像
clf
BW=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); colorbar
图像显示 -11-
25020015010050 【例】显示伪彩色图像 I=imread('moon.tif'); imshow(I,jet(256)) colorbar 25020015010050 5、imshow(RGB) 显示真彩色图像。
【例】
rgb=imread('flowers.tif'); imshow(rgb);
图像显示 -12-
6、imshow filename 直接显示图像。
【例】直接显示图像
imshow('moon.tif'); I=getimage; whos I
Name Size Bytes Class
I 537x358 192246 uint8 array Grand total is 192246 elements using 192246 bytes
moon.tif
7、subimage
多图显示多个调色板的图像。 【例】
load trees;
[x2,map2]=imread('forest.tif');
图像显示 -13-
subplot(2,1,1),subimage(X,map);colorbar subplot(2,1,2),subimage(x2,map2);colorbar 250501001502002505010015020025030035020015010050250501001501502002503005010015020025030035040010050200 【例】不用专用函数显示多图 load trees;
[x2,map2]=imread('forest.tif');
subplot(2,1,1),imshow(x2,map2);colorbar subplot(2,1,2),imshow(X,map);colorbar 25020015010050 五、保存图像 1、imwrite函数
imwrite(I,'文件名','文件格式')-保存无调色板的图像
imwrite(X,MAP,'文件名','文件格式')-保存有调色板的图像 imwrite(...,'文件名')-文件名中含格式 imwrite(...,'参数','值')-指定保存参数 文件格式:bmp、jpg、pcx、tif。
图像显示 -14-
【例】将tif图像保存为jpg图像
[x,map]=imread('canoe.tif');
imwrite(x,map,'canoe.jpg','JPG','Quality',75) 六、图像数据格式转换
double uint8 1、索引图像
uint16 假设:X8-表示8位的索引图像,X16-表示16位的索引图像,X64-表示双精度的索引图像,则有:
X64=double(X8)+1 -uint8格式转double格式 X64=double(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*255)) -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、二值图像
图像显示 -15-
假设BW8表示8位二值图像,BW64表示双精度二值图像,则有: BW64=double(BW8) uint8格式转double格式 BW8=uint8(BW64)~=0 double格式转uint8格式 o')
图像显示 -16-
plot3(X,Y,Z,'b