欢迎来到天天文库
浏览记录
ID:12066615
大小:140.00 KB
页数:11页
时间:2018-07-15
《matlab像素颜色的表达方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB像素颜色的表达方式2009年05月13日星期三10:42MATLAB像素颜色的表达方式252249246243237255255250246243253254248245243250249245243239这些像素值表示什么颜色?如果你很熟悉图像处理,那你应该知道255表示白色,所以上面这些数字表示白色或者接近白色的颜色。但是实际上,这些数字并不是来自一张图片。这些数字是波士顿地区的海拔高度,从U.S.GeologicalSurvey(USGS)。255是一个以米为单位的测量值,并不是颜色。MATLAB可以将任何矩阵以图片的形式显示出来。比如,根据你使用命令的不同,M
2、ATLAB可以将数字海拔高度数据显示为如下的图。或者是将矩阵按照各种方式显示为图形,可以跟直观的了解你的数据。通过理解不同的图形类型,你可以知道MATLAB是如何将矩阵值转化为像素值的。你可以控制MATLAB对数据的显示方式,纠正有可能出错的图形。图形类型一种图像类型即代表了一种从矩阵值到像素值的映射方式。MATLAB有三种基本的图像类型:Truecolor——数码相机,广泛用于计算机图形。Indexed和scaledindexed——经常用来显示科学或者工程数据,关联的颜色比例代表数据单位?。ImageProcessingToolbox可以识别另外两种类型:Grayscale—
3、—经常用在图像处理和图像分析算法中Binary——经常用做为一个封装来表示图形的分割结果或者是感兴趣的区域。TruecolorImages在这种格式的图里,每一个图形像素由三个数字表示:红,绿,蓝,整个图形在MATLAB里由一个M-N-3的三维矩阵表达。显示函数和图形处理工具箱将这种矩阵视为一个truecolor图形。[真彩色]比如,我们构造一个两行-两列的truecolor图形,使上面的两个像素为红和蓝色,下面的两个像素为黄色和灰色。首先,构造3个2-2的矩阵来代表每一个颜色组分。red=[10;10.7]green=[00;10.7]blue=[01;00.7]然后,使用ca
4、t函数来将这些颜色成分矩阵在第三维上拼合起来。truecolor_image=cat(3,red,green,blue);最后,使用image函数显示图形:image(truecolor_image)axisequal%Displaytheimageusingsquarepixels可以看到,矩阵值直接指定了每一个像素的颜色。通过这种表达方式你可以很大程度上控制颜色显示,但是对于工程技术应用来说它并不是最适合的一种图形格式。Indexedimages索引图像在索引图像里,颜色矩阵的值并不直接决定颜色像素。MATLAB将矩阵值作为索引在图像的colormap中进行颜色查表。比如,在
5、MATLAB文件clown.mat中包含一下索引图形:loadclownwhosName Size Bytes ClassX 200x320 512000 doublearraycaption 2x1 4 chararraymap 81x3 1944 doublearrayGrandtotalis64245elementsusing513948bytes变量X中包括了查表索引,map中包括了对应的colormap。两者都会直接用于图像显示。
6、(5,5)像素点上的颜色,对应于X(5,5)的值:X(5,5)ans= 61这个值作为colormap重大行索引值:map(61,:)ans= 0.99610.57810.1250像素(5,5)处由很多红色,一些绿色和一点蓝色构成。使用两个MATLAB命令显示这幅图,一个用来显示图形同时另一个用来指定图像的colormap。image(X)colormap(map)colormap(cool)跟truecolor图像不同的是,indexed图像的显示因使用不同的colormap而不同。索引图像在15年前很常用,当时大部分颜色图形最多只能同时显示256种颜色。而现在可以使用
7、不同颜色比例来显示数据。因为索引图像的值必须是整数,所以比例索引图像就具有更多灵活性。Scaledindexedimages比例索引图像和一半的索引图像类似,比例索引图像使用矩阵值在图像的colormap中进行查表。而不同之处在于,矩阵值进行线性缩放而形成查表索引值。比如,现在使用image命令来显示一个小的magic阵接着将它与imagese来对比。A=magic(5)A=17 24 1 8 15 23 5 7 14 16 4 6
此文档下载收益归作者所有