OpenCVを使ってモノクロ画像に疑似的に色をつけるにはcv::applyColorMap関数が用意されています。
【簡単なソースコード】
#include "stdafx.h"
#include <opencv2/opencv.hpp>;
using namespace cv;
int main()
{
// 画像読込
Mat img0 = imread("Mandrill.BMP");
Mat cm_img0;
// 疑似カラー(カラーマップ)変換
applyColorMap(img0, cm_img0, COLORMAP_JET);
// 画像表示
imshow("cm_img0", cm_img0);
// キー入力待ち
waitKey(0);
// 画像保存
imwrite("Mandrill_COLORMAP_JET.BMP", cm_img0);
return 0;
}
(参考)
OpenCV: ColorMaps in OpenCV
【処理結果】
applyColorMap関数の書式は、下記の通り
void cv::applyColorMap (
InputArray src,
OutputArray dst,
int colormap
)
colormapの設定の違いにより、以下のように色変換されます。
個人的に使えそうなのは、COLORMAP_JETとCOLORMAP_HOTぐらいかな?
←OpenCVへ戻る
コメント