目录
环境
知识点
C++代码
Python代码
JS代码
结果展示
返回总目录
环境搭建可参考:B站视频
假设我们想在地图上显示美国不同地区的温度。我们可以用不同的颜色代表不同的意思。用蓝色表示较冷的温度,用红色表示较温暖的温度。温度数据只是一个例子,但还有其他几个数据是单值(灰度)的情况,但将其转换为彩色数据以实现可视化是有意义的。用伪彩色更好地显示数据的其他例子是高度、压力、密度、湿度等等。
Look Up Table(LUT)查找表
applyColorMap(src, dst, COLORMAP)
OpenCV 支持多种颜色风格的查找表映射
enum cv::ColormapTypes {
cv::COLORMAP_AUTUMN = 0,
cv::COLORMAP_BONE = 1,
cv::COLORMAP_JET = 2,
cv::COLORMAP_WINTER = 3,
cv::COLORMAP_RAINBOW = 4,
cv::COLORMAP_OCEAN = 5,
cv::COLORMAP_SUMMER = 6,
cv::COLORMAP_SPRING = 7,
cv::COLORMAP_COOL = 8,
cv::COLORMAP_HSV = 9,
cv::COLORMAP_PINK = 10,
cv::COLORMAP_HOT = 11,
cv::COLORMAP_PARULA = 12,
cv::COLORMAP_MAGMA = 13,
cv::COLORMAP_INFERNO = 14,
cv::COLORMAP_PLASMA = 15,
cv::COLORMAP_VIRIDIS = 16,
cv::COLORMAP_CIVIDIS = 17,
cv::COLORMAP_TWILIGHT = 18,
cv::COLORMAP_TWILIGHT_SHIFTED = 19,
cv::COLORMAP_TURBO = 20,
cv::COLORMAP_DEEPGREEN = 21
}
#ifndef DAY06
#define DAY06
#include
#include
using namespace std;
using namespace cv;
void day06() {
Mat src = imread("E:\\_Image\\OpenCVTest\\girl.jpg");
if (src.empty()) {
cout << "could not load image.." << endl;
return;
}
Mat dst;
applyColorMap(src, dst, COLORMAP_PINK);
imshow("colorMap", dst);
waitKey(0);
}
#endif // !DAY06
官方文档链接:https://docs.opencv.org/4.5.0/d3/d50/group__imgproc__colormap.html
import cv2 as cv
# 查看版本
print(cv.__version__)
# 读取图像
src = cv.imread("E:/_Image/OpenCVTest/girl.jpg")
cv.imshow("input", src)
# COLORMAP_AUTUMN = 0
# COLORMAP_BONE = 1
# COLORMAP_COOL = 8
# COLORMAP_HOT = 11 还行
# COLORMAP_HSV = 9
# COLORMAP_JET = 2
# COLORMAP_OCEAN = 5
# COLORMAP_PARULA = 12
# COLORMAP_PINK = 10 好看
# COLORMAP_RAINBOW = 4
# COLORMAP_SPRING = 7
# COLORMAP_SUMMER = 6 还行
# COLORMAP_WINTER = 3
dst = cv.applyColorMap(src, cv.COLORMAP_SUMMER)
cv.imshow("output", dst)
# 等待键盘输入 释放内存
cv.waitKey(0)
cv.destroyAllWindows()
很遗憾的是,opencv.js 好像没有提供 applyColorMap 函数的支持,我在 4.5.0 的版本中并没有找到这个方法。如果有读者朋友找到了这个方法,欢迎给我留言呀~
OpenCV4学习笔记 - 目录
如果这篇文章对您有帮助,欢迎给我的 github项目 点一个⭐ ο(=•ω<=)ρ⌒☆