【OpenCV3】彩色映射——cv::applyColorMap()与cv::LUT()详解
在图像处理的过程中,我们通常会遇到将灰度图像映射成彩色图像的情形(即通常所说的伪彩映射),OpenCV2和OpenCV3中均提供了两个用于伪彩映射的函数——cv::applyColorMap()和cv::LUT()。
1、cv::applyColorMap()
cv::applyColorMap()是使用opencv预定义的colormap,将灰度图映射成彩色图像。opencv中提供了12个预定义的colormaps,如下图所示
想要获得更多colormap请查看Python中的彩色映射 和 Python中的彩色映射(续篇)。
具体使用如下:
cv::Mat im_gray = imread("pluto.jpg", cv::IMREAD_GRAYSCALE);cv::Mat im_color;cv::applyColorMap(im_gray, im_color, cv::COLORMAP_JET);
效果如下:
2、cv::LUT()
虽然cv::applyColorMap()用起来很方便,但是无法支持用户自定义的colormap,而这就需要使用cv::LUT()。
首先是colormap的定义:以256级灰阶为例,所谓colormap就是就是灰度级0-255之间256种色彩的映射表。
cv::LUT()具体使用方法如下:
cv::Mat image_gray_3c;//单通道的灰度图,转换成R、G、B三通道值均相等的三通道图cv::cvtColor(image_gray, image_gray_3c, cv::COLOR_GRAY2RGB);//opencv默认的颜色排列顺序是BGR,而这里自定义的colormap的顺序是RGBcv::cvtColor(golden_map, golden_map, cv::COLOR_BGR2RGB); cv::Mat image_color;cv::LUT(image_gray_3c, golden_map, image_color);
注意:输入的灰度图,一定要先转换成3通道图(即24位深)。这里,使用了自己定义的一个colormap,效果如下:
2017.03.31
【OpenCV3】彩色映射——cv::applyColorMap()与cv::LUT()详解相关推荐
- P2P端口映射 UPnP设置功能和使用详解
P2P端口映射 UPnP设置功能和使用详解 在网上看了很多关于如何打开UPnP功能的文章,发现竟然没有一篇文章能把整个UPnP的设置过程介绍全的,都是只讲到一部分.所以决定写篇文章,至少把设置 ...
- 【OpenCV3】cv::Mat类成员函数详解
cv::Mat为OpenCV2和OpenCV3中最重要的类,可以毫不夸张得说,掌握了cv::Mat的操作,就掌握了OpenCV大半,这里将详细的介绍下cv::Mat类的成员函数及其使用. 1.clon ...
- 【OpenCV3】级联分类器训练——traincascade快速使用详解
上一篇(OpenCV3中的级联分类器目标检测--cv::CascadeClassifier简介)介绍了如何使用级联分类器进行目标检测.这里,我们介绍一下如何训练自己的级联分类器. 至于原理这里就不再进 ...
- OpenCV3学习(9.2)连通域分析函数详解connectedComponents()和connectedComponentsWithStats()
在OpenCV 3中提供了两个很好的函数,在OpenCV 2中没有. (1)connectedComponents() (2)connectedComponentsWithStats() 对应的官方文 ...
- 【OpenCV3】cvRound()、cvFloor()、cvCeil()函数详解
函数cvRound().cvFloor().cvCeil()都是按照一种舍入方式将浮点型数据转换为整型数据. cvRound():返回跟参数最接近的整数值,即四舍五入: cvFloor() :返回不 ...
- 主键由数据库mysql 映射native_Hibernate主键生成策略详解
转载自:http://blog.csdn.net/wanghuan203/article/details/7562395 hibernate提供的主键生成策略,使我们可以在实体类的映射xml文件中设定 ...
- FPGA基础之LUT详解
查找表(LUT) 对于一个有n输入的逻辑运算,则最终有2n个不同的组合方式.为了便于理解,下面给出一个例子: 上面是一个2输入的例子,该例子对应的组合逻辑电路如下: 该组合逻辑的真值表: 如果使用传统 ...
- springboot实体映射到数据库_SpringBoot 操作 ElasticSearch 详解
点击上方☝SpringForAll社区 轻松关注!及时获取有趣有料的技术文章 本文来源:http://www.mydlq.club/article/64/ 一.ElasticSearch 简介 . 1 ...
- python opencv cv.applyColorMap()函数(颜色映射)ColormapTypes【将Intel Realsense D435深度图的黑白图映射为彩色图】
文章目录 API ColormapTypes 完整应用代码[将深度图的黑白图映射为彩色图] map原理 能否map CV_24UC3的? API def applyColorMap(src, colo ...
最新文章
- rrdtool 修改水印logo
- Pytorch自定义Loss
- Java利用Jakson实现序列化与反序列化操作
- linux目录树(书本上看到)
- Unity 5.x 游戏开发指南 HD版 final.pdf
- jQuery form表单的serialize()参数和其他参数 如何一起传给后端
- Proxmark3 Easy Gui 4.0 5.0 5.1加强版免费获取啦
- 火狐浏览器添加New Tab插件
- Salesforce LWC学习(二) helloWorld程序在VSCode中的实现
- linux上编译sdl,Linux下安装、编译SDL
- win10总是2分钟就自动睡眠怎么办 win10系统自动休眠bug怎么解决(转)
- 主进程和子进程_Python - 进程-线程-协程
- WINDOWS网络编程接口
- mysql动态脱敏查询_数据库动态脱敏
- 中兴 F607 光猫超级管理用户查看
- 计算机丢失dll文件怎么弄,电脑开机提示dll文件丢失怎么办?
- 【转】SD和SDHC和SDXC卡的区别
- php网易云歌曲获取,网易云音乐cookie获取
- 爆火GitHub 的十大最火 Python 项目,三天收藏突破10w+
- 她力量系列四丨读博6年两次换导师,靠一点点“倔”,俞舟成为social chatbot的开拓者之一
热门文章
- 实战并发编程 - 02解决并发问题常用套路
- 计网 - TCP 实战:如何进行 TCP 抓包调试?
- 深入理解分布式技术 - Dubbo vs Spring Cloud
- Java 8 - 07 复合 Lambda 表达式
- pdb连接数_Oracle 19c 之多租户 PDB 连接与访问(三)
- 浏览器获取设备信息_过滤获取日志和浏览器信息
- arr.sort的排序原理
- 使用 webpack 4 和 Babel 构建 React 应用(2018)
- java邮件发送api文件,JavaMail API 发送一个HTML电子邮件
- linux jdk1.4 安装,linux安装jdk1.4.2