【Python/OpenCV】ガンマ補正で明るさ調整

この記事では、Python版OpenCVで画像のガンマ補正で明るさを調整する方法をソースコード付きで解説します。

ガンマ補正

ガンマ補正は、画像のコントラストを調節し、視認しやすくするのによく使われています。

原理についてはこちら
ご参考 【画像処理】ガンマ補正の原理・計算式

今回は、Python言語+OpenCV+NumPyを用いてガンマ補正を実装してみました。

ソースコード(Python3+OpenCV3)

サンプルプログラムのソースコードです。

#-*- coding:utf-8 -*-
import cv2
import numpy as np

# 入力画像を読み込み
img = cv2.imread("input.jpg")

# グレースケール変換
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

# 線形濃度変換
gamma = 2.0
    
# 画素値の最大値
imax = gray.max() 
    
# ガンマ補正
gray = imax * (gray / imax)**(1/gamma)

# 結果の出力
cv2.imwrite("output.jpg", gray)

実行結果

サンプルプログラムの実行結果です。

■入力画像(右)、出力画像(右)

関連記事
1 PythonでOpenCV入門 サンプル集
2 【Python】画像処理プログラミング入門
3 【画像処理入門】アルゴリズム&プログラミング
Python画像処理
技術雑記

コメント

タイトルとURLをコピーしました