PythonとOpenCVで画像をネガポジ反転してみた

PythonとOpenCVを使って、jpeg画像の色を反転してみました。

目次

  1. 手順
  2. bitwise_not()関数
  3. 試してみた

手順

至って単純です。

  1. 画像をファイルから読み込み。
  2. 色を反転。
  3. 変換した画像を保存。

bitwise_not()関数

行列の各ビットを反転する関数です。

dst = cv2.bitwise_not(src)
変数 説明
dst numpy.ndarray 変換後の行列。
src numpy.ndarray 変換前の行列。

RGB各色が8ビットで表されているので、そのビットを反転させるわけですね。

試してみた

この画像とそのグレースケールの画像の色を反転してみます。 コードはこんな感じ。

import cv2

img = cv2.imread('original.jpg')
inv = cv2.bitwise_not(img)

gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
invgray = cv2.bitwise_not(gray)

cv2.imwrite('inv.jpg',inv)
cv2.imwrite('invgray.jpg',invgray)

カラーの画像はこんな感じになります。

image0

image1

グレースケール化してから色反転した画像はこんな感じです。

image2

広告

Pythonで画像処理カテゴリの投稿