OpenCVSharp4のカラーマップ機能を使った

カラーバーにするには

Cv2.ApplyColorMap(src, dst, ColorConversionCodes)  

を使う

//サンプルコード  
using System;  
using OpenCvSharp;  

namespace カラーマップ {  
    class Program {  
        static void Main(string[] args) {  
            Mat mat = new Mat(@"D:\icon.jpg");  
            mat.CvtColor(ColorConversionCodes.RGB2GRAY);  

            Cv2.ApplyColorMap(mat, mat, ColormapTypes.Rainbow);  
            Cv2.ImShow("mat", mat);  
            Cv2.WaitKey();  
        }  
    }  
}  

カラースケールの種類

ColorConversionCodes スケール 説明 サンプル
色マップなし

f:id:negizoku:20200920230033j:plain

ふつうのグレースケール f:id:negizoku:20200920230047j:plain
Bone f:id:negizoku:20200920230101j:plain 普通のグレースケールより見やすい

f:id:negizoku:20200920230114p:plain

Autumn

f:id:negizoku:20200920230127j:plain

熱画像っぽい。hotより狭い

f:id:negizoku:20200920230138p:plain

Hot

f:id:negizoku:20200920230153j:plain

熱画像っぽい。Autumnより広い

f:id:negizoku:20200920230210p:plain

Cividis

f:id:negizoku:20200920230222j:plain

均等な配色で、色盲の人にも同じに見えるらしい

f:id:negizoku:20200920230233p:plain

Viridis

f:id:negizoku:20200920230247j:plain

大小の比較がしやすい。色盲にも対応。

 

f:id:negizoku:20200920230338p:plain



Jet

 

f:id:negizoku:20200920230353j:plain



たぶん一番使うやつ サンプルなし
Hsv

f:id:negizoku:20200920230408j:plain

Jetより配色がスムースだが、並びが逆 サンプルなし
TwilightShifted

f:id:negizoku:20200920230423j:plain

くすんだ配色がエモい

f:id:negizoku:20200920230435p:plain

Pink

f:id:negizoku:20200920230447j:plain

Pinkという名のセピア調

f:id:negizoku:20200920230510p:plain

参考

https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0199239
https://docs.opencv.org/3.2.0/d3/d50/group__imgproc__colormap.html#ga9a805d8262bcbe273f16be9ea2055a65