2022年1月14日金曜日

【OpenCV】画像へカラーマップを適用(applyColorMap)

 カラーマップは色の組み合わせを定義した情報のことで、画像にカラーマップを適用することで画素値に対応した色が割り当てられる。画素値の大小を視覚的にわかりやすくするために用いられる。画像処理ライブラリOpenCVapplyColorMapによりカラー画像またはグレースケール画像へカラーマップを適用できる。
OpenCVを使うには次のようにインポートが必要。

import cv2



1. applyColorMapの書式

 applyColorMap の書式は以下の通り。変換する画像とカラーマップの種類を指定すればよい。

dst = cv2.applyColorMap(src, colormap) 
引数 意味
src 変換する画像。グレースケールまたはカラー画像
colormap カラーマップの種類
カラーマップの名前または番号で指定
Opencv4.0.0では0~12の13種類、4.5.5では0~21まで22種類が使用可能

カラーマップの種類はリファレンスを参照のこと。
OpenCV > ColorMaps in OpenCV



2. カラーマップ適用例

 

以下の画像'test.jpg'にカラーマップ(COLORMAP_JET、COLORMAP_HSV、COLORMAP_HOT)を適用する場合。





import cv2

img = cv2.imread('test.jpg')

# cv2.COLORMAP_JET
dst = cv2.applyColorMap(img, cv2.COLORMAP_JET)
cv2.imwrite('jet.jpg', dst)

# cv2.COLORMAP_HSV
dst = cv2.applyColorMap(img, cv2.COLORMAP_HSV)
cv2.imwrite('hsv.jpg', dst)

# cv2.COLORMAP_HOT
dst = cv2.applyColorMap(img, cv2.COLORMAP_HOT)
cv2.imwrite('hot.jpg', dst)

実行結果

cv2.COLORMAP_JETを適用



cv2.COLORMAP_HSVを適用



cv2.COLORMAP_HOTを適用





 colormapを番号で指定しても同じ結果が得られる。

import cv2

img = cv2.imread('test.jpg')

# cv2.COLORMAP_JET
dst = cv2.applyColorMap(img, 2)
cv2.imwrite('jet.jpg', dst)

# cv2.COLORMAP_HSV
dst = cv2.applyColorMap(img, 9)
cv2.imwrite('hsv.jpg', dst)

# cv2.COLORMAP_HOT
dst = cv2.applyColorMap(img, 11)
cv2.imwrite('hot.jpg', dst)


3. リファレンス

OpenCV > ColorMaps in OpenCV

使用したバージョン:Python 3.8.8 / OpenCV 4.0.1

0 件のコメント:

コメントを投稿