PythonとOpenCVで画像処理②【ウィンドウ、画像のサイズ変更】
*OpenCVのバージョンは2.4.1です
【ウィンドウのサイズ変更】
- デフォルトでは、画像のサイズに合わせてウィンドウが固定表示される
- namedWindow関数を使えば、ウィンドウのサイズを変更可能にすることができる
# -*- coding: utf-8 -*- import cv2 # 画像の読み込み img = cv2.imread("test.jpg", 1) # ウィンドウの表示形式の設定 # 第一引数:ウィンドウを識別するための名前 # 第二引数:ウィンドウの表示形式 # cv2.WINDOW_AUTOSIZE:デフォルト。ウィンドウ固定表示 # cv2.WINDOW_NORMAL:ウィンドウのサイズを変更可能にする cv2.namedWindow("img", cv2.WINDOW_NORMAL) cv2.imshow("img", img) cv2.waitKey(0) cv2.destroyAllWindows()
【画像のサイズ変更】
- 画像のサイズ取得等
# -*- coding: utf-8 -*- import cv2 # 画像の読み込み img = cv2.imread("test.jpg", 1) # 読み込んだ画像の高さと幅を取得 height = img.shape[0] width = img.shape[1] print height print width # 画像のチャンネル数 channel = img.shape[2] print channel # RGBで3 # width * height * channelの値 size = img.size print size # データ型 dtype = img.dtype print dtype # uint (符号なし8bit整数:0 ~ 255)
- resize関数を使えば、画像のサイズを変更できる
# -*- coding: utf-8 -*- import cv2 # 画像の読み込み img = cv2.imread("test.jpg", 1) # 読み込んだ画像の高さと幅を取得 height = img.shape[0] width = img.shape[1] # 画像のサイズを変更 # 第一引数:サイズを変更する画像 # 第二引数:変更後の幅 # 第三引数:変更後の高さ resized_img = cv2.resize(img,(width/2, height/2)) cv2.imshow("img", resized_img) cv2.waitKey(0) cv2.destroyAllWindows()
【参考】
Yura YuWrite: [OpenCV] PythonのOpenCVで画像サイズの取得
[OpenCV Python]画像の幅、高さ、チャンネル数、depth取得 · atinfinity/lab Wiki · GitHub
python+Opencvによる画像処理5(リサイズ) - tataboxの備忘録