- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB像素颜色的表达方式
2009年05月13日 星期三 10:42
MATLAB像素颜色的表达方式
252
249
246
243
237
255
255
250
246
243
253
254
248
245
243
250
249
245
243
239
这些像素值表示什么颜色?如果你很熟悉图像处理,那你应该知道255表示白色,所以上面这些数字表示白色或者接近白色的颜色。但是实际上,这些数字并不是来自一张图片。这些数字是波士顿地区的海拔高度,从U.S. Geological Survey (USGS) 。255是一个以米为单位的测量值,并不是颜色。
MATLAB可以将任何矩阵以图片的形式显示出来。比如,根据你使用命令的不同,MATLAB可以将数字海拔高度数据显示为如下的图。
或者是
将矩阵按照各种方式显示为图形,可以跟直观的了解你的数据。通过理解不同的图形类型,你可以知道MATLAB是如何将矩阵值转化为像素值的。你可以控制MATLAB对数据的显示方式,纠正有可能出错的图形。
图形类型
一种图像类型即代表了一种从矩阵值到像素值的映射方式。MATLAB有三种基本的图像类型:
Truecolor ——数码相机,广泛用于计算机图形。
Indexed和scaled indexed ——经常用来显示科学或者工程数据,关联的颜色比例代表数据单位?。
Image Processing Toolbox 可以识别另外两种类型:
Grayscale ——经常用在图像处理和图像分析算法中
Binary ——经常用做为一个封装来表示图形的分割结果或者是感兴趣的区域。
Truecolor Images
在这种格式的图里,每一个图形像素由三个数字表示:红,绿,蓝,整个图形在MATLAB里由一个M-N-3的三维矩阵表达。显示函数和图形处理工具箱将这种矩阵视为一个truecolor图形。[真彩色]
比如,我们构造一个两行-两列的truecolor图形,使上面的两个像素为红和蓝色,下面的两个像素为黄色和灰色。
首先,构造3个2-2的矩阵来代表每一个颜色组分。
red = [1 0; 1 0.7]
green = [0 0; 1 0.7]
blue = [0 1; 0 0.7]
然后,使用cat函数来将这些颜色成分矩阵在第三维上拼合起来。
truecolor_image = cat(3, red, green, blue);
最后,使用image函数显示图形:
image(truecolor_image)
axis equal % Display the image using square pixels
可以看到,矩阵值直接指定了每一个像素的颜色。通过这种表达方式你可以很大程度上控制颜色显示,但是对于工程技术应用来说它并不是最适合的一种图形格式。
Indexed images索引图像
在索引图像里,颜色矩阵的值并不直接决定颜色像素。MATLAB将矩阵值作为索引在图像的colormap中进行颜色查表。比如,在MATLAB文件clown.mat中包含一下索引图形:
load clown
whos
Name???????? Size???????? Bytes???? Class
X?????????? 200x320?????? 512000??? double array
caption?????? 2x1????????????? 4??? char array
map????????? 81x3?????????? 1944??? double array
Grand total is 64245 elements using 513948 bytes
变量X中包括了查表索引,map中包括了对应的colormap。两者都会直接用于图像显示。(5,5)像素点上的颜色,对应于X(5,5)的值:
X (5, 5)
ans =
??? 61
这个值作为colormap重大行索引值:
map (61, :)
ans =
??? 0.9961 0.5781 0.1250
像素(5,5)处由很多红色,一些绿色和一点蓝色构成。
使用两个MATLAB命令显示这幅图,一个用来显示图形同时另一个用来指定图像的colormap。
image(X)
colormap(map)
colormap(cool)
跟truecolor图像不同的是,indexed图像的显示因使用不同的colormap而不同。
索引图像在15年前很常用,当时大部分颜色图形最多只能同时显示256种颜色。而现在可以使用不同颜色比例来显示数据。因为索引图像的值必须是整数,所以比例索引图像就具有更多灵活性。
Scaled indexed images比例索引图像
和一半的索引图像类似,比例索引图像使
文档评论(0)