OpenCVで新規に単色の画像を作成するシンプルな方法

2022年5月16日月曜日

OpenCV Python

t f B! P L

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)

【実行結果】
enter image description here

チャンネル数が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)

【実行結果】
enter image description here

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ