当前位置:主页 > 论文百科 > 论文创新 >

什么是索引图像_怎么画索引_数字图像处理的MATLAB实现(第2版)

发布时间:2016-07-16 21:09

  本文关键词:索引图像,由笔耕文化传播整理发布。


> 其他综合 > 数字图像处理的MATLAB实现(第2版) 6.1.2 索引图像 2013-04-29 13:51:22         我要投稿   

本文所属图书 > 数字图像处理的MATLAB实现(第2版)

《数字图像处理的MATLAB实现(第2版)》是第一本介绍图像处理的基础理论以及图像处理实现中所使用软件原理的书籍,汇集了Digital Image Processing 一书的基本概念和MathWorks公司的图像处理工具箱(MathWorks公...  立即去当当网订购

索引图像有两个分量:整数数据矩阵X和彩色映射矩阵map。矩阵map是m×3大小、由double类型且范围在[0,1]之间的浮点数构成的数组。map的长度m等于定义的颜色数。map的每一行都定义有单色的红、绿、蓝分量。索引图像将像素的亮度值“直接映射”到彩色值。每个像素的颜色由对应的整数矩阵X的值作为指向map的索引决定。如果X是double类型,那么值1指向map的第一行,值2指向第二行,等等。如果X是uint8或uint16类型,那么值0指向map的第一行。这些概念都会在图6-3中给予说明。

为显示一幅索引图像,可写为:
>> imshow (X ,map)

或者写为:
>> image (x)
>> colormap(map)

彩色映射用索引图像来存储,当使用函数imread加载图像时,索引图像将自动和图像一起被载入。


 

有时候,用较少的颜色去近似表达索引图像是有必要的。为此,我们使用函数imapprox,语法如下:
[Y, newmap] = imapprox (X, map,n)

这个函数利用彩色映射newmap来返回数组Y,最多有n种颜色。输入数组X的类型可以是uint8、uint16或double。如果n小于等于256,那么输出Y是uint8类;如果n大于256,那么Y是double类。

当map中的行数比X中的整数值数目少时,X中的多重值将在map中赋以相同的颜色。例如,假设X由4个等宽的垂直带组成,它们的值分别为1、64、128和256。如果我们指定彩色映射map=[0 0 0;1 1 1],那么X中所有值为1的元素就会指向map的第一行(黑色),其他所有的元素都将指向第二行(白色)。因而,指令imshow(X ,map)的执行会显示出由一条黑色带、后面紧跟三条白色带的图像。事实上,只要map的长度是65,这都是正确的。当是65时,显示一条黑色带,后面紧跟着一条灰色带,然后是两条白色带。如果map的长度超过了X中元素允许的值的范围,就会得出无意义的结果图像。

指定彩色映射的办法有很多,一种方法就是利用如下语句:
>> map(k, :) = [r(k) g(k) b(k)];

其中,[r(k) g(k) b(k)]是RGB值,指定彩色映射的一行。变化的k值可将map填满。

表6-1列出了一些基本颜色的RGB值。表中三种格式的任何一种都可以用来指定颜色。例如,用下面三条语句中的任何一条都可以把图像的背景色改成绿色:
>> whitebg('g');
>> whitebg('green');
>> whitebg([0 1 0]);

表6-1  一些基本颜色的RGB值,,可以用长名或短名(用单引号括起来)代替数字三元组,进而指定一套RGB颜色
 

长    名 短    名 RGB值

Black k [0  0  0]

Blue b [0  0  1]

Green g [0  1  0]

Cyan c [0  1  1]

(续表)   

长    名 短    名 RGB值

Red r [1  0  0]

Magenta m [1  0  1]

Yellow y [1  1  0]

White w [1  1  1]

除了表6-1中的颜色外,其他颜色还包含一些小数值。例如[.5 .5 .5]是灰色、[.5 0 0]是暗红色、[.49 1 .83]是碧绿色。

MATLAB提供了一些预定义的彩色映射,可用下面的指令来访问:
>> colormap(map_name)

上面将彩色映射设定为矩阵map_name。一个例子是:
>> colormap(copper)

其中,copper是MATLAB彩色映射函数。在这个映射中,颜色从黑色到明亮的紫铜色平稳变化。如果显示的最后一张图是索引图像,这个指令就会将映射转成紫铜色。作为另一种选择,这个图像也可以直接用希望的彩色映射加以显示:

>>imshow(X, copper)

表6-2列出了MATLAB中可用的一些彩色映射。这些彩色映射的长度(颜色的数目)可以用加了圆括号的数字来说明,例如gray(8)将产生8阶灰色的彩色映射。

表6-2  MATLAB中预先定义的一些彩色映射


函    数 描    述

autumn 从红色到橙色、再到黄色平缓变化

bone 对蓝色分量用较高的值进行灰度级的彩色映射
当添加“电子学方法”以观看灰度图像时,这个彩色映射很有用

colorcube 在RGB彩色空间中包含许多有规律放置的颜色,试图提供更多的灰度级、纯红、纯绿和纯蓝

cool 由从青到深红色调平滑变化的颜色分量组成

copper 从黑到浅铜色平缓变化

flag 由红、白、蓝和黑颜色分量组成。这个彩色映射随着每个索引增量完全改变颜色

gray 返回线性灰度级的彩色映射

hot 从黑通过红、橙、黄,再到白色平缓变化

hsv 色调-饱和度-亮度彩色模型的色调分量变化。彩色由红开始,通过黄、绿、青、蓝、深红,再回到红。这个彩色映射对于显示周期函数特别合适

jet 范围从蓝到红,并经过青、黄和橙

 (续表)   

函    数 描    述

lines 产生的彩色映射由ColorOrder属性和灰度色调决定。关于该函数的细节,可查看函数ColorOrder的帮助页

pink 包含粉红的大青色调。粉红彩色映射提供灰度照片的棕色色调

prism 重复6种颜色:红、橙、黄、绿、蓝和紫

spring 由深红和黄色色调组成

summer 由绿色和黄色色调组成

winter 由蓝色和绿色色调组成

white 这是全白单色颜色映射

 

点击复制链接 与好友分享!回本站首页 您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力   上一篇:6.1.1 RGB图像 下一篇:6.1.3 处理RGB图像和索引图像的函数 相关文章

6.1.2 设计TimeCategory表

6.1.2 初始化COM组件

图文推荐


  本文关键词:索引图像,由笔耕文化传播整理发布。



本文编号:72210

资料下载
论文发表

本文链接:https://www.wllwen.com/wenshubaike/shangbiaozhuanli/72210.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户b77d4***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com