【OpenCV3】彩色映射——cv::applyColorMap()与cv::LUT()详解
生活随笔
收集整理的這篇文章主要介紹了
【OpenCV3】彩色映射——cv::applyColorMap()与cv::LUT()详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在圖像處理的過程中,我們通常會(huì)遇到將灰度圖像映射成彩色圖像的情形(即通常所說的偽彩映射),OpenCV2和OpenCV3中均提供了兩個(gè)用于偽彩映射的函數(shù)——cv::applyColorMap()和cv::LUT()。
1、cv::applyColorMap()
cv::applyColorMap()是使用opencv預(yù)定義的colormap,將灰度圖映射成彩色圖像。opencv中提供了12個(gè)預(yù)定義的colormaps,如下圖所示
想要獲得更多colormap請(qǐng)查看Python中的彩色映射?和?Python中的彩色映射(續(xù)篇)。
具體使用如下:
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級(jí)灰階為例,所謂colormap就是就是灰度級(jí)0-255之間256種色彩的映射表。
cv::LUT()具體使用方法如下:
cv::Mat image_gray_3c;//單通道的灰度圖,轉(zhuǎn)換成R、G、B三通道值均相等的三通道圖cv::cvtColor(image_gray, image_gray_3c, cv::COLOR_GRAY2RGB);//opencv默認(rèn)的顏色排列順序是BGR,而這里自定義的colormap的順序是RGBcv::cvtColor(golden_map, golden_map, cv::COLOR_BGR2RGB); cv::Mat image_color;cv::LUT(image_gray_3c, golden_map, image_color);
注意:輸入的灰度圖,一定要先轉(zhuǎn)換成3通道圖(即24位深)。這里,使用了自己定義的一個(gè)colormap,效果如下:
2017.03.31
總結(jié)
以上是生活随笔為你收集整理的【OpenCV3】彩色映射——cv::applyColorMap()与cv::LUT()详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【OpenCV3】几何图形(直线、矩形、
- 下一篇: 【OpenCV3】图像翻转——cv::f