【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); }

浙公网安备 33010602011771号