OpenCV伪彩色applyColorMap函数
假如我们想在图片上显示不同区域的温度,我们可以把红外图像上的温度数据叠加为灰度图像,暗的区域代表冷的温度,更明亮的区域代表较热的温度,但是这样的呈现不能给人类视觉带来直觉的感受,不能更好地感知颜色的变化。如果我们用不同的颜色代表不同的温度,比如用蓝色表示冷的温度,红的表示热的温度,能够带来更好的感知。为了更好地展示数据,我们把数据转换为彩色数据来实现可视化,用伪彩色更好地显示温度、压力、湿度等数据。
OpenCV提供了伪彩色函数applyColorMap来实现伪彩色功能。
原型1
CV_EXPORTS_W void applyColorMap(InputArray src, OutputArray dst, int colormap);
功能
把给定的图像转换为伪彩色图像。
参数释义:
参数1 src 输入源图像,灰度图或者CV_8UC1、CV_8UC3类型的图。
参数2 dst 转换后的伪彩色图,注意:dst调用了Mat::create
参数3 colormap 伪彩色图像类型 参考ColormapTypes
原型2
CV_EXPORTS_W void applyColorMap(InputArray src, OutputArray dst, InputArray userColor);
功能
把给定的图像转换为伪彩色图像。
参数释义:
参数1 src 输入源图像,灰度图或者CV_8UC1、CV_8UC3类型的图。
参数2 dst 转换后的伪彩色图,注意:dst调用了Mat::create
参数3 userColor 用户定义的类型,适用于类型:CV_8UC1 或者 CV_8UC3并且大小为256
示例源码
#include <iostream>
#include <opencv2/opencv.hpp>
int main() {cv::Mat image = cv::imread("D:\\OpenCVtest\\images\\juice.png");cv::Mat imageMapAutum;cv::Mat imageMapBone;cv::Mat imageMapJet;cv::Mat imageMapCIVIDIS;cv::Mat imageMapCOOL;cv::Mat imageMapDEEPGREEN;cv::Mat imageMapHOT;cv::Mat imageMapHSV;cv::Mat imageMapINFERNO;cv::Mat imageMapMAGMA;cv::Mat imageMapOCEAN;cv::Mat imageMapPARULA;cv::Mat imageMapPINK;cv::Mat imageMapPLASMA;cv::Mat imageMapRAINBOW;cv::Mat imageMapSPRING;cv::Mat imageMapSUMMER;cv::Mat imageMapTURBO;cv::Mat imageMapTWILIGHT;cv::Mat imageMapTWILIGHT_SHIFTED;cv::Mat imageMapVIRIDIS;cv::Mat imageMapWINTER;
cv::applyColorMap(image, imageMapAutum, cv::COLORMAP_AUTUMN);cv::applyColorMap(image, imageMapBone, cv::COLORMAP_BONE);
cv::applyColorMap(image, imageMapJet, cv::COLORMAP_JET);cv::applyColorMap(image, imageMapCIVIDIS, cv::COLORMAP_CIVIDIS);cv::applyColorMap(image, imageMapCOOL, cv::COLORMAP_COOL);cv::applyColorMap(image, imageMapDEEPGREEN, cv::COLORMAP_DEEPGREEN);cv::applyColorMap(image, imageMapHOT, cv::COLORMAP_HOT);cv::applyColorMap(image, imageMapHSV, cv::COLORMAP_HSV);cv::applyColorMap(image, imageMapINFERNO, cv::COLORMAP_INFERNO);cv::applyColorMap(image, imageMapMAGMA, cv::COLORMAP_MAGMA);cv::applyColorMap(image, imageMapOCEAN, cv::COLORMAP_OCEAN);cv::applyColorMap(image, imageMapPARULA, cv::COLORMAP_PARULA);cv::applyColorMap(image, imageMapPINK, cv::COLORMAP_PINK);cv::applyColorMap(image, imageMapPLASMA, cv::COLORMAP_PLASMA);cv::applyColorMap(image, imageMapRAINBOW, cv::COLORMAP_RAINBOW);cv::applyColorMap(image, imageMapSPRING, cv::COLORMAP_SPRING);cv::applyColorMap(image, imageMapSUMMER, cv::COLORMAP_SUMMER);cv::applyColorMap(image, imageMapTURBO, cv::COLORMAP_TURBO);cv::applyColorMap(image, imageMapTWILIGHT, cv::COLORMAP_TWILIGHT);cv::applyColorMap(image, imageMapTWILIGHT_SHIFTED, cv::COLORMAP_TWILIGHT_SHIFTED);cv::applyColorMap(image, imageMapVIRIDIS, cv::COLORMAP_VIRIDIS);cv::applyColorMap(image, imageMapWINTER, cv::COLORMAP_WINTER);cv::imshow("image", image);cv::imshow("Autum", imageMapAutum);cv::imshow("Bone", imageMapBone);cv::imshow("Jet", imageMapJet);cv::imshow("CIVIDIS", imageMapCIVIDIS);cv::imshow("COOL", imageMapCOOL);cv::imshow("DEEPGREEN", imageMapDEEPGREEN);cv::imshow("HOT", imageMapHOT);cv::imshow("HSV", imageMapHSV);cv::imshow("INFERNO", imageMapINFERNO);cv::imshow("MAGMA", imageMapMAGMA);cv::imshow("OCEAN", imageMapOCEAN);cv::imshow("PARULA", imageMapPARULA);cv::imshow("PINK", imageMapPINK);cv::imshow("PLASMA", imageMapPLASMA);cv::imshow("RAINBOW", imageMapRAINBOW);cv::imshow("SPRING", imageMapSPRING);cv::imshow("SUMMER", imageMapSUMMER);cv::imshow("TURBO", imageMapTURBO);cv::imshow("TWILIGHT", imageMapTWILIGHT);cv::imshow("TWILIGHT_SHIFTED", imageMapTWILIGHT_SHIFTED);cv::imshow("VIRIDIS", imageMapVIRIDIS);cv::imshow("WINTER", imageMapWINTER);std::cout << "";
cv::waitKey(0);
}
运行结果如下图所示,效果供各位参考使用:
参考
ColormapTypes枚举定义
OpenCV伪彩色applyColorMap函数相关推荐
- opencv中伪彩色applyColorMap函数(C++ / Python)
opencv中伪彩色applyColorMap函数(C++ / Python) 翻译 2017年06月23日 15:34:12 标签: 1654
- python opencv cv.applyColorMap()函数(颜色映射)ColormapTypes【将Intel Realsense D435深度图的黑白图映射为彩色图】
文章目录 API ColormapTypes 完整应用代码[将深度图的黑白图映射为彩色图] map原理 能否map CV_24UC3的? API def applyColorMap(src, colo ...
- OpenCV applyColorMap函数实现False color伪色彩的实例(附完整代码)
OpenCV applyColorMap函数实现False color伪色彩的实例 OpenCV applyColorMap函数实现False color伪色彩的实例 OpenCV applyColo ...
- OpenCV4使用applyColorMap()函数,可以将灰度图或彩色图转换成自定义的彩色图,或opencv提供的20多种色彩值
文章目录 1.applyColorMap()函数的使用: (1)函数原型: void applyColorMap(InputArray src, OutputArray dst, int colorm ...
- 图像边缘检测--OpenCV之cvCanny函数
图像边缘检测--OpenCV之cvCanny函数 分类: C/C++ void cvCanny( const CvArr* image, CvArr* edges, double threshold1 ...
- OpenCV中initUndistortRectifyMap函数存在bug原因探究
原文首发于公众号「3D视觉工坊」:OpenCV中initUndistortRectifyMap函数存在bug原因探究. 最近在运行如下一段代码时,生成的mapx和mapy有点异常. 代码片段如下: # ...
- 利用OpenCV的compareHist函数作直方图的相似度对比的源程序
图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 OpenCV的compareHist函数用来计算 ...
- 转载:opencv中imshow函数运行中断的解决办法
OpenCV中 imshow函数运行中断的解决方法 羊和咩咩 2017-03-10 16:00:49 5919 收藏 最后发布:2017-03-10 16:00:49首发:2017-03-10 16: ...
- OpenCV使用filter2D函数填充线性滤波器的实例(附完整代码)
OpenCV使用filter2D函数填充线性滤波器的实例 OpenCV使用filter2D函数填充线性滤波器的实例 OpenCV使用filter2D函数填充线性滤波器的实例 #include &quo ...
最新文章
- 张一鸣的微博世界-产品篇一
- topcoder srm 330 div1
- ImportError: Could not import backend for traitsui. Make sure you have a suitable UI toolkit like
- MasterPage,Page 2者之间事件的执行顺序
- android wlan0 网卡过程,android WIFI网络驱动之wpa_supplicant程序详解
- 如何添加Samba用户
- java 登录 https_java – 如何在Web应用程序中实现HTTPS登录页面?
- Jmeter使用SSL(HTTPS协议)
- Git学习笔记:一台电脑上配置两个git账户
- 初级第二课——统计总分
- [Tizen开发]SDB调试工具使用简介
- 编程新手导论(转载)
- android 怎么看架构,怎么查看手机设备架构
- Linux双网卡绑定bond0(单IP)
- canvas实现粒子特效
- WEB安全全基础漏洞学习
- 图像处理保研面试_详解保研面试的那些事
- 【深入理解TcaplusDB技术】入门Tcaplus-JDBC开发
- 【译文】利用STAN做贝叶斯回归分析:Part 1 正态回归
- codewarrior 入门(来源于逍遥呤博客)
热门文章
- boost::mp11::mp_is_list相关用法的测试程序
- boost::gil::bit_aligned_pixel_reference用法的测试程序
- GDCM:gdcm::Validate的测试程序
- Boost:Porthopper服务测试程序
- ITK:使用GMM EM分配像素
- DCMTK:OFStandard类中的double / ascii转换方法的测试代码
- VTK:PolyData之Stripper
- VTK:Points之FitImplicitFunction
- VTK:图片之InteractWithImage
- OpenCV导出模板参数文件