人生的意义就是思考其意义分享 http://blog.sciencenet.cn/u/qianlivan 天体物理工作者,家乡云南昆明。

博文

如何突破IDL颜色表的限制?

已有 7228 次阅读 2012-11-28 21:38 |个人分类:知识|系统分类:科研笔记| IDL, 图像显示, 颜色表

       之前尝试做一个有二维颜色表的图(http://blog.sciencenet.cn/home.php?mod=space&uid=117333&do=blog&id=631444 )。虽然可以画多个颜色表拼成一个二维颜色表,但是图中还是只能有256种颜色表。这受到IDL的LOADCT子程序的限制,在用TVIMAGE画图的时候,要用LOADCT载入颜色表。
       原则上RGB颜色是可以得到(2^8)^3=2^{24}种颜色的,只要突破了LOADCT的限制就可以使用所有这些限制了。研究了半天,发现类似TVIMAGE这种方便的画图工具都没有绕开LOADCT,所以似乎没有什么办法。
       但是我隐约记得IDL是可以读入jpg图像处理的,jpg图像不可能只有256种颜色。查了一下,最简单的TV函数就可以将一个3times n times n的数组显示为一幅彩色图像,其中RGB每个分量都是ntimes n大小的数组,其中的数值是0-255的整数,分别表示每个像素上的R、G、B值。所以只要能计算出每个像素上的R、G、B值就可以用TV函数显示了,这样就可以突破256种颜色的限制,可以使用自己定义的大颜色表。所需要克服的就是TV函数控制图像位置、大小不是很方便的困难。这些困难不一定容易解决,但已经不是原则性的困难了。


2013年7月8日补记:

        如果实现了TV函数控制图像位置,那么颜色表就可以突破了,因为可以对RGB三个颜色通道的数据进行处理。这个可以查阅TV函数的帮助。具体实现方法见附件。


threecolor.pro




https://blog.sciencenet.cn/blog-117333-637204.html

上一篇:招生数量与天文学科的发展
下一篇:2012年Wolfram北京大会参会总结
收藏 IP: 159.226.169.*| 热度|

2 蒋德明 李宇斌

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-26 03:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部