本文共 2464 字,大约阅读时间需要 8 分钟。
在 OpenCV 开源库中,applyColorMap
函数是一款实用工具,可用来将灰度图像转换为彩色图像,通过查找表(LUT,Lookup Table)实现颜色映射。这种方法非常有用,尤其是在处理温度、高度、压力或密度等单值信息时,可通过彩色编码更直观地展示数据。
以下是几个常用的颜色映射类型:
OpenCV 提供了多种颜色映射类型,可供应用:
COLORMAP_AUTUMN
:秋色渐变COLORMAP_BONE
:鱼骨色COLORMAP_JET
:热带风场COLORMAP_WINTER
:冬季色方案COLORMAP_RAINBOW
:彩虹色COLORMAP_OCEAN
:海洋蓝COLORMAP_SUMMER
:夏日色COLORMAP_SPRING
:春色COLORMAP_COOL
:冰冷色COLORMAP_HSV
:色调、值、饱和度COLORMAP_PINK
:粉色COLORMAP_HOT
:热色COLORMAP_PARULA
:霓虹紫COLORMAP_MAGMA
:地质红COLORMAP_INFERNO
:火焰红COLORMAP_PLASMA
:荧光紫COLORMAP_VIRIDIS
:青色COLORMAP_CIVIDIS
:洋红色COLORMAP_TWILIGHT
:暮色COLORMAP_TWILIGHT_SHIFTED
:偏移暮色根据需求选择相应的颜色映射类型,便可实现不同的视觉效果。
代码示例:
#include "opencv2/opencv.hpp"#include "iostream"using namespace std;using namespace cv;void colorMapDemo() { // 读取图像 Mat src = imread("girl.jpg"); if (src.empty()) { cout << "加载图像失败" << endl; return; } // 应用颜色映射 Mat dst; applyColorMap(src, dst, COLORMAP_PINK); // 传入彩色映射类型 // 显示结果 namedWindow("colorMap", WINDOW_AUTOSIZE); imshow("colorMap", dst); // 按任意键退出 waitKey(0);}
步骤说明:
applyColorMap
,使用COLORMAP_PINK
生成彩色图像。代码功能:
applyColorMap
也就是颜色映射函数,通过查找表将灰度图像转换为彩色图像。代码示例:
import cv2 as cv# 查看 OpenCV 版本print(cv.__version__)# 读取图像src = cv.imread("girl.jpg")cv.imshow("输入图像", src)# 设置颜色映射类型# 以下是常用类型示例color_mapAutumn = cv.COLORMAP_AUTUMNcolor_mapBone = cv.COLORMAP_BONE# ...(其他类型)color_mapPink = cv.COLORMAP_PINK# 应用颜色映射dst = cv.applyColorMap(src, cv.COLORMAP_SUMMER) # 传入所需类型cv.imshow("输出图像", dst)# 等待键盘输入并释放cv.waitKey(0)cv.destroyAllWindows()
步骤说明:
cv
名字访问。applyColorMap
实现颜色映射。代码功能:
applyColorMap
转换灰度图像到彩色图像,选定不同的映射类型可获取不同的颜色方案。applyColorMap
)对于 JavaScript 用户,由于 OpenCV.js 4.5.0 版本尚未支持 applyColorMap
函数,这意味着将无法直接调用该函数。目前,JS 用户可以安装更高版本的 OpenCV.js 或查询开源社区以获取替代方案。
=ैं।
以下是使用上述代码示例可能生成的典型结果:
girl.jpg
COLORMAP_PINK
显示明亮的粉色渐变。girl.jpg
COLORMAP_SUMMER
显示夏日调色,展现多彩的高温区域。OpenCV.js 4.5.0 中暂不支持 applyColorMap
。当前版本建议使用下列方法替代:
通过选择合适的颜色映射类型和正确使用 applyColorMap
函数,可以灵活地展示数据信息,满足不同场景的可视化需求。
转载地址:http://fuwiz.baihongyu.com/