核心代码,不是项目工程,不能直接使用
code

// 颜色映射关系
const cv::Vec3b colorMap[]=
{
    cv::Vec3b(128, 64,128),
    cv::Vec3b(244, 35,232),
    cv::Vec3b( 70, 70, 70),
    cv::Vec3b(102,102,156),
    cv::Vec3b(190,153,153),

    cv::Vec3b(153,153,153),
    cv::Vec3b(250,170, 30),
    cv::Vec3b(220,220,  0),
    cv::Vec3b(107,142, 35),
    cv::Vec3b(152,251,152),

    cv::Vec3b( 70,130,180),
    cv::Vec3b(220, 20, 60),
    cv::Vec3b(255,  0,  0),
    cv::Vec3b(  0,  0,142),
    cv::Vec3b(  0,  0, 70),

    cv::Vec3b(  0, 60,100),
    cv::Vec3b(  0, 80,100),
    cv::Vec3b(  0,  0,230),
    cv::Vec3b(119, 11, 32),
    cv::Vec3b(  0,  0,  0)
};

    // // 准备绘制带有颜色的结果图像
    cv::Mat coloredImg(label_img.rows,label_img.cols, CV_8UC3);

    size_t min_label=255,max_label=0;
    for(size_t x=0;x<coloredImg.rows;++x)
    {
        for(size_t y=0;y<coloredImg.cols;++y)
        {
            uint8_t label=label_img.at<uint8_t>(x,y);

            if(label<20)
            {
                coloredImg.at<cv::Vec3b>(x,y)=colorMap[label];
            }
            else
            {
                coloredImg.at<cv::Vec3b>(x,y)=cv::Vec3b(0,0,0);
            }

            min_label=label<min_label? label:min_label;
            max_label=label>max_label? label:max_label;
            

        }

    }
```cpp