原文地址:http://blog.csdn.net/huixingshao/article/details/42706699
灰度图像的伪彩色处理的原理如下:
根据色彩学方面的研究结果,将灰度图像对应到red , green , blue三个通道上,最后将三个通道的颜色值合成为需要显示的RGB颜色值即可。
灰度值与三个通道的映射关系如图3、图4、图5所示:
图1:灰度与红色通道映射关系
图2:灰度与绿色通道映射关系
[cpp]
view plain
copy
- Vec3b GreyToColorMix(int val)
- {
- int r,g,b;
- //red
- if (val<128)
- {
- r = 0;
- }
- else if (val<192)
- {
- r = 255/64*(val-128);
- }
- else
- {
- r=255;
- }
- //green
- if (val<64)
- {
- g = 255/64*val;
- }
- else if (val<192)
- {
- g = 255;
- }
- else
- {
- g= -255/63*(val - 192)+255;
- }
- //blue
- if (val<64)
- {
- b = 255;
- }
- else if (val<128)
- {
- b = -255/63*(val - 192)+255;
- }
- else
- {
- b=0;
- }
- Vec3b rgb;
- rgb[0] = b;
- rgb[1] = g;
- rgb[2] = r;
- return rgb;
- }