【8】opencv伪彩变换

我理解的伪彩变换就是将灰度图通过颜色表(已有)来实现伪上色。

主要的函数就是applycolorMap方法,比较简单,调用就完事了

void cv::applyColorMap(InputArray src,
        OutputArray dst,
        InputArray userColor 
    )        
参数
src    CV_8UC1或CV_8UC3类型的灰度或彩色源图像。
dst    目标图像是彩色映射的源图像。注意:Mat::create是在dst上调用的。
userColor 适用于CV_8UC1或CV_8UC3类型和大小为256的颜色映射

 

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
int main()
{
    cv::Mat photo = cv::imread("0003.jpg");
    cv::Mat output = cv::Mat(photo.size(), photo.type());

    cv::cvtColor(photo,output,cv::COLOR_RGB2GRAY);//把图片转化为灰度图(色彩空间转换部分会详细学)
    cv::imshow("origin", output);
    cv::waitKey(100);

    cv::applyColorMap(photo, output, cv::COLORMAP_AUTUMN);
    imshow("COLORMAP_AUTUMN", output);

    cv::applyColorMap(photo, output, cv::COLORMAP_BONE);
    imshow("COLORMAP_BONE", output);

    cv::applyColorMap(photo, output, cv::COLORMAP_COOL);
    imshow("COLORMAP_COOL", output);

    cv::applyColorMap(photo, output, cv::COLORMAP_DEEPGREEN);
    imshow("COLORMAP_DEEPGREEN", output);

    cv::applyColorMap(photo, output, cv::COLORMAP_OCEAN);
    imshow("COLORMAP_OCEAN", output);

    cv::waitKey(0);


}

 

posted @ 2022-03-17 14:25  0MrMKG  阅读(254)  评论(0)    收藏  举报