基于OpenCV自定义色条实现灰度图上色功能代码

Qt在进行2D图像显示时,有很方便的色条接口,可以让灰度图基于其设计的色条进行上色,比如设置1为红色,0.55为黄色,0.45为绿色,0为蓝色,那么灰度图就会在归一化后按照从蓝到红(从小到大)进行渐变色上色。但是有时候这个接口需要搭配的代码太多,给开发带来一定麻烦,因此我基于其原理写了一个可以替代该功能的函数GrayToColor_ColorBar。

       函数原理:首先需要将灰度值图转化为0-255的8通道(uchar)灰度图,运用归一化函数可以实现;之后考虑到颜色和灰度的关系,比如最低的颜色为蓝色(0,0,255)对应灰度值0,最高的颜色为红色(255,0,0)对应灰度值255,只需要找出其变化的规律即可。

       下方为具体实现函数和测试代码-海口福兴医院

功能函数代码

                   c1[j] = 0;

                    c2[j] = 0;

                    c3[j] = 0;

                }

            }

        }

    }

  

    // 三通道合并,得到颜色图

    vector<cv::Mat> images;

    images.push_back(color3);

    images.push_back(color2);

    images.push_back(color1);

    cv::merge(images, result);

  

   

  ​

  return result;(http://www.hkfxyy120.com)

  ​

上一篇:C++算法高精度减法


下一篇:【黑马程序员讲义】C++提高编程