根据色彩学方面的研究结果,将灰度图像对应到red , green , blue三个通道上,最后将三个通道的颜色值合成为需要显示的RGB颜色值即可。
灰度值与三个通道的映射关系如图3、图4、图5所示:
图1:灰度与红色通道映射关系
图2:灰度与绿色通道映射关系
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;
}
图3:灰度与蓝色通道映射关系
因篇幅问题不能全部显示,请点此查看更多更全内容