長野エンジニアライフ

東京から長野に移住したエンジニアのブログです。🦒🗻⛰

Python + OpenCV4プログラミングの学習(2)〜画像生成・読み込み・書き込み〜

本記事はOpenCVによる画像生成・読込・書込を行ったときの備忘録である。

事前準備

以下の記事で仮想環境opencvEnvを構築していることを前提とする。 kawakeee.hatenablog.com

画像を生成する

以下のコードを写経しcreate_img.pyのファイルを作成。

import numpy as np
import cv2

# 画像情報(3次元配列)の生成 (行、列、色)
img = np.zeros((400, 400, 3), np.uint8)

img[:,:] = [255, 0, 0]
# 生成したimgを指定ファイルとして保存
cv2.imwrite('img/blueImage.jpg', img)
# imgを表示
cv2.imshow('img1', img)

img[:,:] = [0, 255, 0]
cv2.imwrite('img/greenImage.jpg', img)
cv2.imshow('img2', img)

img[:,:] = [0, 0, 255]
cv2.imwrite('img/redImage.jpg', img)
cv2.imshow('img3', img)

cv2.waitKey(0)
cv2.destroyAllWindows()
  • cv2.imwrite(...):画像情報の保存(書き込み)
  • cv2.imshow(...):画像情報の表示

実行確認

(opencvEnv)$ python create_img.py

指定フォルダ配下に画像が生成されていることを確認。 画像情報が生成されていることを確認

また、cv2.imshowによってウィンドウで画像が表示される事を確認。 画像表示の確認

画像の読み込み・書き込み

任意の画像ファイルを用意する。今回はLenna.jpgを用意した。

Lenna

以下のコードを写経しread_write.pyのファイルを作成。

import cv2

# 画像情報の読み込み
img = cv2.imread('img/Lenna.jpg')
# 画像情報の保存(書き込み)
cv2.imwrite('img/ReadWrite.jpg', img)
  • cv2.imread(...):画像情報の読み込み

実行結果

(opencvEnv)$ python read_write.py

指定フォルダ配下にReadWrite.jpg生成されていることを確認する。
ReadWriteが生成されている事を確認

まとめ

  • cv2.imwrite(...):画像情報の保存(書き込み)
  • cv2.imread(...):画像情報の読み込み
  • cv2.imshow(...):画像情報の表示

ソースコード

github.com