Python OpenCV3でネガポジ変換(濃淡値を反転する)

Posted on


ネガポジ変換(Negative-Positive Conversion)

 

前提

ディレクトリ構成などはこことかこことか。

&nbsp

元画像

ガンマ変換と同じ、この画像(sora2.jpg)を使う。
以前の例だとsource/imageディレクトリ配下に設置する。

sora

 

ネガポジ変換

ネガポジ変換はシンプルで以下の通り。

f(x) = 255 - x

 

sourceディレクトリ配下にnegaposi.pyを作成する。
ガンマ変換の時と同様に、事前にルックアップテーブルを作成し、OpenCV3のLUTメソッドの引数でルックアップテーブルを指定し、ガンマ変換を行う。

# -*- 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()

実行してみる。

(opencv_python)$ python gamma.py

スクリーンショット 2015-06-23 7.38.46

ネガポジ変換は入力画像と出力画像の濃淡が反転するため、不思議な画像になる。

 

Tags: , , , , , , ,


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">