Python で OpenCV モジュールを使用して画像を反転する

Vaibhav Vaibhav 2023年10月10日
  1. 画像の反転
  2. Python の bitwise_not() メソッドを使用して画像を反転する
  3. Python で numpy.invert() メソッドを使用して画像を反転する
Python で OpenCV モジュールを使用して画像を反転する

OpenCV または OpenSource Computer Vision Library は、画像処理と機械学習に使用されるリアルタイムのコンピュータービジョンライブラリです。これは C/C++ で記述されており、C++、Python、Java などの多くのプログラミング言語で使用できます。Python では、一般に、OpenCV は、行列、多次元配列、および数学計算用の Python ベースのライブラリである NumPy とともに使用されます。

画像は NumPy 多次元配列を使用して表され、OpenCV を使用して処理されます。OpenCV モジュールを使用すると、反転、スケーリング、回転、ミラーリング、色の変更、色の反転など、画像に対して多くの操作を実行できます。この記事では、OpenCV モジュールを使用して画像を反転する方法を学習します。

画像の反転

画像は、RGB または赤緑青の値を使用して表されます。それぞれが 0 から 255(両方を含む)の間の整数値を取ることができます。たとえば、赤い色は (255, 0, 0)、白は (255, 255, 255)、黒は (0, 0, 0) などを使用して表されます。

画像を反転させるとは、画像の色を反転させることを意味します。たとえば、赤色の反転色は (0, 255, 255) になります。0255 になり、2550 になったことに注意してください。これは、画像を反転すると、基本的に 255 から古い RGB 値が差し引かれることを意味します。

New_Value = 255 - Old_Value

元の画像:

Python opencv で画像を反転-オリジナル

反転画像:

Python opencv で画像を反転-オリジナル

Python の bitwise_not() メソッドを使用して画像を反転する

OpenCV には、ビット単位の NOT 演算を実行する bitwise_not() メソッドがあります。この関数を使用して、画像を反転させることができます。次のコードを参照してください。作業ディレクトリに image.png という名前の画像があると見なされます。

import cv2

image = cv2.imread("image.png", 0)
inverted_image = cv2.bitwise_not(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)

このプログラムは、最初に画像をロードし、それを反転して、作業ディレクトリに保存します。その後、元の画像と反転した画像の両方が表示されます。

Python で numpy.invert() メソッドを使用して画像を反転する

NumPy には invert() メソッドがあり、ビット単位の反転またはビット単位の NOT 演算を実行します。次のコードは、このメソッドを使用して反転を実行する方法を示しています。

import cv2
import numpy as np

image = cv2.imread("image.png", 0)
inverted_image = np.invert(image)
cv2.imwrite("inverted.jpg", inverted)
cv2.imshow("Original Image", image)
cv2.imshow("Inverted Image", inverted_image)

invert() メソッドの詳細については、こちらを参照してください

著者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

関連記事 - Python OpenCV