OpenCVで画像を読み込んで書き出す

OpenCV の使い方ということで,手始めに画像を読み書きしてみます.

読み込み

シンプルにカラーで

import cv2
import numpy as np

img = cv2.imread('test.jpg', 1)

第二引数を指定する

カラーイメージやグレースケールなどの指定は第二引数で.

import cv2
import numpy as np

# カラーイメージ
img = cv2.imread('test.jpg', cv2.IMREAD_COLOR)

# グレースケール
img = cv2.imread('test.jpg', cv2.GRAYSCALE)

# アルファチャンネルあり
img = cv2.imread('test.jpg', cv2.UNCHANGED)

IMREAD_COLOR は 1, GRAYSCALE は 0, UNCHANGED は -1 でも代替できます.

画像が見つからなかったときの処理

画像の名前の指定を間違っていて正しく読み込めなくても,エラーを返してくれません.

img には None が代入された状態になります.

書き出し

cv2.imwrite('test2.jpg', img)

オブジェクトを指定して名前を付けるだけ.

新しい画像の書き出し

ブランクイメージの作成とかに使えるかも.

new_img = np.zeros((HEIGHT, WIDTH, 3), np.uint8)

零行列なので,黒一色です.

参考