Python

OpenCV(Python)GUIの基礎、画像の読み込みと表示

  • このエントリーをはてなブックマークに追加

関数の説明

cv2.imread

cv2.imread(filename[,flag])

OpenCVでの画像の読み込みはcv2.imreadで行います。filenameは読み込むファイルのパスです。flagは画像を読み込むときのオプションです。
読み込みのオプション

  • cv2.IMREAD_COLORは画像をカラー画像として読み込みます。
    読み込まれるカラー画像は一般的なRBG(赤青緑)では無くBGR(青緑赤)です。
  • ccv2.IMREAD_GRAYSCALEは画像をグレースケール画像として読み込みます。
  • cv2.IMREAD_UNCHANGEDは画像をそのまま読み込みます。透過部分のある画像の場合はアルファチャンネルも読み込みます。

実際に使ってみる

準備

img.jpgというファイル名で画像を用意してください。今回は下記の画像を使用して解説します。また、保存した画像と同じディレクトリでスクリプトを実行していきます。
img

ソースコード

下記のスクリプトが画像を表示するスクリプトです。

# -*- coding: utf-8 -*-
import cv2
#画像を読み込む
img = cv2.imread("img.jpg")
#ウィンドウの名前を設定
cv2.namedWindow('gui', cv2.WINDOW_NORMAL)
#ウィンドウの名前を選択して画像を表示
cv2.imshow('gui', img)
#入力待ち
cv2.waitKey(0)

実行すると次のような画面が出てきます。キーボードから何か入力すると終わります。
gui1

解説

上のスクリプトの細かい部分を解説していきます。

#ウィンドウの名前を設定
cv2.namedWindow('gui', cv2.WINDOW_NORMAL)

cv2.namedWindowで画像を表示するウィンドを準備します。第1引数がウィンドの名前で、第2引数がウィンドの設定になってます。
cv2.WINDOW_NORMALはウィンドサイズをマウスで変更できるようにする設定です。

#ウィンドウの名前を選択して画像を表示
cv2.imshow('gui', img)

cv2.imshowの第1引数は画像を表示するウィンド名を指定します。今回は”gui”というウィンドを作ったのでそれを指定します。第2引数には表示する画像を渡します。
cv2.waitKeyはキー入力を待つ関数です。引数には、待ち時間を入力します。
0を引数に渡したときはキー入力があるまで待ちます。
それ以外のときは与えた値×0.001秒の間、キー入力があるまで待ちます。

まとめ

今回は、OpenCVの基礎的な内容で終わりました。次回は簡単なペイントツールを作成してGUIの機能をもっと掘り下げて以降と思います。

  • このエントリーをはてなブックマークに追加