从数组显示图像,直接把矩阵中的值当作索引值(称为直接映射),即数值1对应RGB1,数值2对应于RGB2,当小于1或大于64时表现为两端的颜色。
语法1:image(c), 会将数组 C 中的数据显示为图像,C 的每个元素指定图像的 1 个像素的颜色。
案例1:
>> N=randi([0,255],6,6) %产生随机矩阵
N =
177 195 181 30 192 140
81 203 193 127 65 35
243 47 70 245 129 38
8 125 174 87 178 65
112 114 167 149 228 215
97 165 41 57 245 65
>> image(N) %画图
>> colorbar %加右侧的条带
可以看出,下面多数元素是黄色,这是因为colorbar的范围为(0,64),大于等于64的均为黄色,接近于0 的偏向蓝色。
若想要让colorbar的范围正好是矩阵极限值的范围,这样不同的像素值都能展现不同的颜色,而不是大于等于64的均为黄色。
语法2:默认情况下,图像的 CDataMapping 属性设置为 ‘direct’,(可以简单理解为,colorbar的范围默认情况是(0,64),矩阵数值范围仅限于这个范围时,才能展现不同颜色)
将 CDataMapping 属性设置为 ‘scaled’,将值的范围缩放到当前颜色图的完整范围。
案例2:
>> image(N,'CDataMapping','scaled')
>> colorbar
注意!!!此时的效果与imagesc(N)画出的图一样。
语法3:image(x,y,C) ,指定图像位置,与imagesc的用法一样,可参照下面的案例。
语法4:显示三维真彩色数组的图像
案例3:定义了一个三维图像,三维分别代表R、G、B,因此只定义第一维,图形就为红色。因为第一维的3x3矩阵数值不同,所以显示出的红色深浅不同。
>> C = zeros(3,3,3);
>> C(:,:,1) = [.1 .2 .3; .4 .5 .6; .7 .8 .9] %定义三维图像的第一维,其他二维默认为0
C(:,:,1) =
0.1000 0.2000 0.3000
0.4000 0.5000 0.6000
0.7000 0.8000 0.9000
C(:,:,2) =
0 0 0
0 0 0
0 0 0
C(:,:,3) =
0 0 0
0 0 0
0 0 0
>> image(C)
显示
语法1:imagesc(c),将数组 C 中的数据显示为一个图像,该图像使用颜色图中的全部颜色,即矩阵每个数值代表了一个颜色。
案例1:用imagesc函数给N矩阵画图的结果如下:
>> imagesc(N)
语法2:imagesc(x,y,C) ,指定图像位置,其中(x,y)代表了加载进来的这幅图像x、y的范围。
案例2:依然绘制N矩阵,但定义了图像的位置。注意x轴、y轴的变化。
>> x=[3 9];
>> y=[12 18];
>> imagesc(x,y,N)
语法3:imagesc(C,clims),clims 指定映射到颜色图的第一个和最后一个元素的数据值。
将 clims 指定为 [cmin cmax] 形式的二元素向量,其中小于或等于 cmin 的值映射到颜色图中的第一种颜色,大于或等于 cmax 的值映射到颜色图中的最后一种颜色。
案例3:设置颜色显示的极大值和极小值分别为50和100,可以看出,图形像素颜色相对于前面两个案例,已经发生变化。
>> clims=[50,100]
>> imagesc(N,clims)
可用来画tif格式的图像、二值图,功能强大,可更改显示图像的颜色。
语法1:imshow(I), 在图窗中显示灰度图像 I,以原尺寸直接映射。
案例1:
imshow(N)
语法2:imshow(I,[low high]) 显示灰度图像 I,以二元素向量 [low high] 形式指定显示范围。线性映射。
案例2:
imshow(N,[50 100])
语法3:imshow(X,map) ,显示带有颜色图 map 的索引图像 X,比如tif影像,有R、G、B三个通道,可用该方式读取某一个通道的结果。
(1)image和imagesc函数显示图像是彩色的,imshow是灰度图像。
(2)imshow将图像以原始尺寸显示,image和imagesc函数会适当进行缩放。
(3)image采用的是直接映射,而imagesc采用线性映射。imagesc函数可以调整映射的范围,比如imagesc函数中的案例3,将映射范围改到了【50 100】。imshow函数既可以直接映射,也可以线性映射。
以上理解需要先明白什么是索引图像,关于这3个函数的区别可以参考网页:
https://wenku.baidu.com/view/5d0a7b61306c1eb91a37f111f18583d049640fcd.html