MATLAB图像显示方法
(2012-11-06 10:25:52)
标签:
教育杂谈 |
1. MATLAB图像的读写和显示 (load
load clown
此时三个矩阵:X-200*320
再学习什么是调色板map.
imshow(X,map)
若用image(X)命令显示时,显示下图。不能完全表现此图。
imwrite(X,ma p,'clown_bmp.bmp')
i=imshow('clown_bmp.bmp')%再显示此保存的图文件
figure,imshow(i)
imgae(i)
2. 二进制图像的显示方法
例1
(1)建立一个方格子的二进制图像
bw1=zeros(20:20) ;
bw1(2:2:18,2:2:18)=1 ;
(2)显示建立好的二进制图像
imshow(bw1)
bw2=uint8(bw1); %bw2是无符号8位整数,若显示bw2则几乎是黑的。为什么?
imshow(bw2);
bw3=bw2~=0;%此时bw3为逻辑阵列类型的数据。
imshow(bw3);
例2
(1)调入一幅图像并显示
bw=imread('circles.tif');
figure,imshow(bw);
(2)用调色板显示一幅图像
figure,imshow(bw,[1 0 0; 0 0 1]); %背景 1
figure,imshow(bw,[0 1 0; 0 0 1]);%背景 1 10 0 为绿
figure,imshow(bw,[1 1 0; 0 0 1]);%背景 1 10 0 为黄
3. 灰度图像的显示方法
i=imread('testpat1.tif');
figure,imshow(i,2) %显示2个灰度级
figure,imshow(i,4) %显示4个灰度级
figure,imshow(i,16) %显示16个灰度级
figure,imshow(i,64) %显示64个灰度级
figure,imshow(i,128) %显示128个灰度级
j=filter2([1 2;-1 -2],i); %对图像i进行滤波,其结果送到j,滤波器为[1 2;-1 -2]
imshow(j,[]) %[]表示自动地标度灰度
4. 索引图像的显示方法
load clown %调入一个小丑图像
imshow(X);%由于是索图像,调色板最多显示81种颜色,而X数组最大值为81,由于是双精度数,大于等于1均为白。
j=uint8(X) 若要当作灰度图显示,则应转化为无符号8位整数
imshow(j)
imshow(X,map) %索引显示
5. RGB图像的显示方法
RGB = imread('ngc6543a.jpg'); %RGB为650*600*3
imshow(RGB);
6. 磁盘图像的直接显示
imshow flowers.tif
2.4 MATLAB特殊显示技术
1
例1: i=imread('saturn.tif');imshow(i),colorbar
例2: load flujet imshow(X,map),colorbar
2
mri=uint8(zeros(128,128,1,27));
for frame=1:27
[mri(:,:,:,frame),map]=imread('mri.tif',frame);
end
mov=immovie(mri,map);
movie(mov);
3
(1)开辟一个图像窗口用figure命令
[x1 map1]=imread('forest.tif');
[x2 map2]=imread('trees.tif');
imshow(x1,map1)
figure,imshow(x2,map2);
(2)将一个窗口划分为多个显示区域
[x1 map1]=imread('forest.tif');
[x2 map2]=imread('trees.tif');
figure
subplot(1,2,1),imshow(x1,map1)
subplot(1,2,2),imshow(x2,map2) %说明使用了新的调色板后,前一个调色板受影响了。这样共享调色板其图像显示不能接受
subplot(1,2,1),subimage(x1,map1)
subplot(1,2,2),subimage(x2,map2)
4
概念:使用插值法将一幅图像映射至一个曲面网格上。命令warp(x,y,x,i).
[x,y,z]=cylinder;i=imread('testpat1.tif');
figure,imshow(i); warp(x,y,z,i);
5
(1)将彩色图像显示为灰度图像?
(2)二值图像显示为全黑图像? uint8类型的灰度图像变化范围为[0,255]而不是[0,1]
(3)装载的是多帧图像,而MATLAB却仅仅显示一帧图像。