MATLAB像素颜色的表达方式2009年05月13日星期三10:42 MATLAB像素颜色的表达方式
25 2
24
9
24
6
24
3
23
7
25 5
25
5
25
会当凌绝顶一览众山小
24
6
24
3
25 3
25
4
24
8
24
5
24
3
25 0
24
9
眼镜公主
24
5
24
3
23
9
这些像素值表示什么颜色?如果你很熟悉图像处理,那你应该知道255表示白色,所以上面这些数字表示白色或者接近白色的颜色。但是实际上,这些数字并不是来自一张图片。这些数字是波士顿地区的海拔高度,从U.S. Geologi cal Survey(USGS) 。255是一个以米为单位的测量值,并不是颜色。
MATLAB可以将任何矩阵以图片的形式显示出来。比如,根据你使用命令的不同,MATLAB可以将数字海拔高度数据显示为如下的图。
或者是
将矩阵按照各种方式显示为图形,可以跟直观的了解你的数据。通过理解不同的图形类型,你可以知道MA TLAB是如何将矩阵值转化为像素值的。你可以控制MA TLAB对数据的显示方式,纠正有可能出错的图形。
图形类型
一种图像类型即代表了一种从矩阵值到像素值的映射方式。MATLAB有三种基本的图像类型:
Truecol or ——数码相机,广泛用于计算机图形。
Indexed和scale d indexed——经常用来显示科学或者工程数据,关联的颜色比例代表数据单位?。
墙用英语怎么说
Image Process ing Toolbox可以识别另外两种类型:
Graysca le ——经常用在图像处理和图像分析算法中
Binary——经常用做为一个封装来表示图形的分割结果或者是感兴趣的区域。
Truecol or Images
在这种格式的图里,每一个图形像素由三个数字表示:红,绿,蓝,整个图形在MA TLAB里由一个M-
N-3的三维矩阵表达。显示函数和图形处理工具箱将这种矩阵视为一个true color图形。[真彩色]
比如,我们构造一个两行-两列的true color图形,使上面的两个像素为红和蓝色,下面的两个像素为黄色和灰色。
首先,构造3个2-2的矩阵来代表每一个颜色组分。
red = [1 0; 1 0.7]
green = [0 0; 1 0.7]
豆浆的制作方法
blue = [0 1; 0 0.7]
然后,使用cat函数来将这些颜色成分矩阵在第三维上拼合起来。
truecol or_ima ge = cat(3, red, green, blue);
最后,使用image函数显示图形:
excel美化image(truecol or_ima ge)
axis equal % Display the image using squarepixels
可以看到,矩阵值直接指定了每一个像素的颜色。通过这种表达方式你可以很大程度上控制颜色显示,但是对于工程技术应用来说它并不是最适合的一种图形格式。
睡的成语Indexed images索引图像
酸菜的吃法大全在索引图像里,颜色矩阵的值并不直接决定颜色像素。MATLAB将矩阵值作为索引在图像的c olorma p 中进行颜色查表。比如,在MATLAB文件clow n.mat中包含一下索引图形:
load clown
whos
Name Size Bytes Class
X 200x320 512000 doublearray
caption 2x1 4 char array
map 81x3 1944 doublearray
Grand total is 64245 element s using 513948bytes
变量X中包括了查表索引,map中包括了对应的col ormap。两者都会直接用于图像显示。(5,5)像素点上的颜色,对应于X(5,5)的值:
X (5, 5)
ans =
61
这个值作为co lormap重大行索引值:
map (61, :)
ans =
0.9961 0.5781 0.1250
像素(5,5)处由很多红色,一些绿色和一点蓝色构成。
使用两个MAT LAB命令显示这幅图,一个用来显示图形同时另一个用来指定图像的color map。
image(X)
colorma p(map)
colorma p(cool)
软件测试优秀简历跟trueco lor图像不同的是,indexed图像的显示因使用不同的c olorma p而不同。
索引图像在15年前很常用,当时大部分颜色图形最多只能同时显示256种颜色。而现在可以使用不同颜色比例来显示数据。因为索引图像的值必须是整数,所以比例索引图像就具有更多灵活性。
Scaledindexed images比例索引图像
和一半的索引图像类似,比例索引图像使用矩阵值在图像的colo rmap中进行查表。而不同之处在于,矩阵值进行线性缩放而形成查表索引值。
比如,现在使用ima ge命令来显示一个小的m agic阵接着将它与im age来对比。
A = magic(5)
A = 17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
使用image和255-color的g raysca le colorma p来显示A
image(A)
colorma p(gray(256))
axis equal
可以看到显示出的图像非常暗。那是因为A矩阵的元素都在1到25之间,所以图像只使用了grays cale colorma p中的最开始的25种颜色来表示图形——均为暗黑色。
对比使用ima gesc命令的图形:
imagesc(A)
colorma p(gray(256))
axis equal