PythonのOpenCVとNumPyを使用して画像処理を行う方法について説明します。これらのライブラリは、画像データを効率的に操作するための強力なツールです。
NumPy配列をOpenCV配列に変換する
PythonのOpenCVは、画像をNumPy配列として保存します。したがって、NumPy配列を画像として操作することが可能です。以下に、NumPy配列をOpenCV配列に変換する基本的なコードを示します。
import numpy as np
import cv2
# 二次元配列を作成
img = np.ones((100,100))
# int8型に変換
img = np.int8(img)
# 単一チャンネルを多チャンネルに変換
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
このコードでは、まずNumPyのones
関数を使用して二次元配列を作成します。次に、int8
関数を使用して配列をint8型に変換します。最後に、OpenCVのcvtColor
関数を使用して単一チャンネルの画像を多チャンネルに変換します。
NumPy配列を画像に変換する
NumPy配列を画像に変換するには、OpenCVのimwrite
関数を使用します。以下に、NumPy配列を画像に変換する基本的なコードを示します。
import cv2
import numpy as np
# 三次元配列を作成
array = np.zeros([100, 200, 3], dtype=np.uint8)
# 左半分をオレンジ色に設定
array[:,:100] = [255, 128, 0]
# 右半分を青色に設定
array[:,100:] = [0, 0, 255]
# 配列を画像に変換
cv2.imwrite('output.png', array)
このコードでは、まずNumPyのzeros
関数を使用して三次元配列を作成します。次に、配列の左半分をオレンジ色、右半分を青色に設定します。最後に、OpenCVのimwrite
関数を使用して配列を画像に変換し、’output.png’という名前のファイルに保存します。
以上がPythonのOpenCVとNumPyを使用した基本的な画像処理の方法です。これらのライブラリを活用することで、さまざまな画像処理タスクを効率的に行うことができます。