[scikit-image] 7. ガンマ補正と対数補正

python

はじめに

この記事では、scikit-imageライブラリを使用した画像のコントラスト調整技術について解説します。特にガンマ補正(adjust_gamma)と対数補正(adjust_log)の2つの手法に焦点を当て、それぞれの特性や適用方法、効果の違いについて詳しく説明していきます。これらの補正技術は、暗い部分や明るい部分の詳細を強調したい場合に非常に有効です。

コード

解説

ガンマ補正は、画像の明るさを非線形に調整する手法です。「ガンマ値」と呼ばれるパラメータを使用して、画像の明暗のバランスを変更します。ガンマ値が1より小さい場合は暗い領域が明るくなり、1より大きい場合は明るい領域が暗くなります。

対数補正は、画像の輝度値を対数スケールに変換することで、暗い領域の詳細を強調する手法です。特に、輝度の低い部分に詳細が多く含まれている画像に効果的です。

この例では、ガンマ補正と対数補正を使用して、画像のコントラストを変化させます。

モジュールのインポート

画像とヒストグラム、累積ヒストグラムを表示する関数

これは、

[scikit-image] 6. ヒストグラム均等化による画像コントラスト向上
scikit-imageのrank.equalizeを用いたヒストグラム均等化の実装方法を解説。暗い画像や低コントラスト画像を鮮明にする処理技術で、医療画像や天体写真などで活用されています。Pythonによる実装例も紹介。

のものとほぼ同じとなっています。

画像の読み込み

rgb2grayでグレースケール画像に変換します。

画像のガンマ補正

scikit-imageの

exposure.adjust_gamma(img, 1.5)関数でガンマ補正が可能です。gamma値は第2引数で調整できます。ガンマ値が1より大きい場合、ヒストグラムは左にシフトし、出力画像は元の画像より暗くなります。反対に、ガンマ値が1未満の場合、ヒストグラムは右にシフトし、出力画像は元の画像より明るくなります。

画像の対数補正

画像, ヒストグラム, 累積ヒストグラムの表示

各像の累積ヒストグラムを比較すると下のようになります。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

まとめ

ガンマ補正と対数補正は、画像のコントラスト調整において強力なツールです。これらの技術を使いこなすことで、視覚的に優れた画像処理結果を得ることができます。適切なパラメータの選択と、画像の特性に合わせた手法の選択が重要です。scikit-imageライブラリを活用して、さまざまな画像処理タスクに挑戦してみましょう。

参考

Gamma and log contrast adjustment — skimage 0.25.2 documentation
skimage.exposure — skimage 0.26.0rc0.dev0 documentation
skimage.exposure — skimage 0.26.0rc0.dev0 documentation

コメント

  1. […] [scikit-image] 6. ヒストグラム均等化による高コントラスト化skimage.filters の rank.equalizeによりコントラストを高めるsabopy.com2019.04.11 [scikit-image] 7. ガンマ補正と対数補正skimage.exposureのadjust_gamma と adjust_logによ… […]