Python OpenCV3でネガポジ変換(濃淡値を反転する)
ネガポジ変換(Negative-Positive Conversion)
[amazonjs asin="4061538225″ locale="JP" title="OpenCVによる画像処理入門 (KS情報科学専門書)"]
前提
 
元画像
ガンマ変換と同じ、この画像(sora2.jpg)を使う。
以前の例だとsource/imageディレクトリ配下に設置する。
ネガポジ変換
ネガポジ変換はシンプルで以下の通り。
sourceディレクトリ配下にnegaposi.pyを作成する。
ガンマ変換の時と同様に、事前にルックアップテーブルを作成し、OpenCV3のLUTメソッドの引数でルックアップテーブルを指定し、ガンマ変換を行う。
[python title="gamma.pyの内容"]
# -*- coding: utf-8 -*-
import cv2
import numpy as np
if __name__ == '__main__’:
# ルックアップテーブルの生成
"""
array([[0],
[0],
[0],
[0],
[0],
[0],
[0],
・・・・・・・・
[0], dtype=’uint8′)
のようなリストが生成される。
"""
look_up_table = np.ones((256, 1), dtype = 'uint8’ ) * 0
for i in range(256):
look_up_table[i][0] = 255 – i
# 画像の読み込み
img_src = cv2.imread("./image/sora2.jpg", 1)
# ネガポジ変換後の出力
img_negaposi = cv2.LUT(img_src, look_up_table)
# 表示
cv2.imshow("Show NEGAPOSI Image", img_negaposi)
cv2.waitKey(0)
cv2.destroyAllWindows()
[/python]
実行してみる。
[shell]
(opencv_python)$ python gamma.py
[/shell]
ネガポジ変換は入力画像と出力画像の濃淡が反転するため、不思議な画像になる。
ディスカッション
コメント一覧
まだ、コメントがありません