画像をセピア色に変換する(グレースケール画像を赤く補正する)
画像をセピア色に変換します。
セピア色への変換にはいくつか手法がありますが、ここではカラー画像をグレースケール変換しその輝度を元に下の式のように赤を強く青を弱く補正します。
B(青):グレースケールの輝度 × 145
G(緑):グレースケールの輝度 × 200
R(赤):グレースケールの輝度 × 240
関連記事
環境
準備
画像ファイルはフリー写真素材ぱくたそからダウンロードさせていただき、jupyter notebookファイル(***.ipynb)と同じディレクトリにファイル名'kyoto.jpg'で保存しました。
コード
import cv2 import numpy as np img = cv2.imread('kyoto.jpg',0) # 画像をグレースケール読み出し height, width = img.shape # サイズ取得 sepia = np.zeros((height, width, 3), np.uint8) # セピア画像用ndarray作成 # セピア変換 for y in range(height): for x in range(width): sepia[y,x,0] = img[y,x]/255*145 sepia[y,x,1] = img[y,x]/255*200 sepia[y,x,2] = img[y,x]/255*240 cv2.imwrite('sepia.jpg', sepia)
実行結果