灰度转化为彩色

https://blog.csdn.net/huixingshao/article/details/42706699进行了小修改



灰度图像的伪彩色处理的原理如下:

根据色彩学方面的研究结果,将灰度图像对应到red , green , blue三个通道上,最后将三个通道的颜色值合成为需要显示的RGB颜色值即可。

      灰度值与三个通道的映射关系如图3、图4、图5所示:

                       

                             图1:灰度与红色通道映射关系

                  

 

                          图2:灰度与绿色通道映射关系

         

  1. Vec3b GreyToColorMix(int val)  
  2. {  
  3.     int r,g,b;  
  4.   
  5.     //red  
  6.     if (val<128)  
  7.     {  
  8.         r = 0;  
  9.     }  
  10.     else if (val<192)  
  11.     {  
  12.         r = 255/64*(val-128);  
  13.     }  
  14.     else  
  15.     {  
  16.         r=255;  
  17.     }  
  18.   
  19.     //green  
  20.     if (val<64)  
  21.     {  
  22.         g = 255/64*val;  
  23.     }  
  24.     else if (val<192)  
  25.     {  
  26.         g = 255;  
  27.     }  
  28.     else  
  29.     {  
  30.         g= -255/63*(val - 192)+255;  
  31.     }  
  32.   
  33.     //blue  
  34.     if (val<64)  
  35.     {  
  36.         b = 255;  
  37.     }  
  38.     else if (val<128)  
  39.     {  
  40.         b = -255/63*(val - 192)+255;  
  41.     }  
  42.     else  
  43.     {  
  44.         b=0;  
  45.     }  
  46.     Vec3b rgb;  
  47.     rgb[0] = b;  
  48.     rgb[1] = g;  
  49.     rgb[2] = r;  
  50.     return rgb;  
  51. }  
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/64*(val - 192)+255;
    }

    //blue
    if (val<64)
    {
        b = 255;
    }
    else if (val<128)
    {
        b = -255/64*(val - 128);
    }
    else
    {
        b=0;
    }
    Vec3b rgb;
    rgb[0] = b;
    rgb[1] = g;
    rgb[2] = r;
    return rgb;
}

 

                         图3:灰度与蓝色通道映射关系









        </div>
            </div>
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值