Python + OpenCVで、新規の単色画像を作る方法を紹介します。
OpenCVでは、画像を「縦×横×色」の3次元の配列で管理しているので、NumPyで必要な画像サイズの分だけ配列を作ればよいので、実質 NumPy操作の解説となる。。。
黒色の単色画像を作成する
黒の単色画像を作る場合は、zeros
関数が使える。
次のコードを書くことで、指定したサイズで色が (0, 0, 0)
の画像配列が作れる。
import cv2
import numpy as np
#背景が黒の単色画像を作る
height = 200
width = 300
black = np.zeros((height, width, 3))
cv2.imwrite('black.png', black)
【実行結果】
チャンネル数が1つの、モノクロ画像を作る時は、zeros
関数の3つめの引数に1を指定すればよい。
#背景が黒のモノクロ画像を作る
height = 200
width = 300
black = np.zeros((height, width, 1))
指定した色の単色画像を作成する
指定した色の単色画像を作る場合は、full
関数が使える。
例えば、赤で塗り潰された単色画像を作成する場合は、次のコードを書く。(塗りつぶす色はBGR形式で指定)
#背景が赤の単色画像を作る
height = 200
width = 300
red = np.full((height, width, 3), (0, 0, 255))
cv2.imwrite('red.png', red)
【実行結果】
0 件のコメント:
コメントを投稿