CnPack Forum » CnVCL 组件包 » 在Graphics组件怎样实现伪彩功能


2005-9-12 18:52 alan123
在Graphics组件怎样实现伪彩功能

近期迷上的图像处理,认真研读了zjy的源码。但由于知识贫乏不知道怎样在图像中实现伪彩功能,请大师们指点。

2005-9-12 20:00 zjy
如果想做好图像处理,最好能具备一些计算机图形学和数字图像处理方面的知识,这样更容易理解代码后面的算法和数学模型。

图像处理我很久没用了,凭印象简单说说,希望对您有帮助。伪彩功能,根据不同的需求,实现的方法也很多。我们知道,在 HSL 模型下,颜色包含色调、饱和度和亮度三种分量,而对于灰度图而言,图像中只保留了其中的亮度信息,所有的点其饱和度都是零。对图像做伪彩处理,最常用的方法是将灰度图中的亮度信息用色调来替换。最简单的方法可以这样来实现:对每个象素点的颜色值做 HSL 分解,再用其中的亮度(L值)去替换色调(H值),再组合成新的颜色值(新颜色的 S 和 H 可以用固定值)。

对位图的操作,CnGraphics 里有例子,也可以直接用 TBitmap 来处理。HSL 与 RGB 的转换,在 CnGraphUtils 里有函数。

2005-9-13 19:16 alan123
谢谢 yygw的指点。

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.