画像サイズを変更する
やること
- ファイル名を指定して画像ファイル読み出す
- 画像サイズを変更
- 変更後の画像を別ウィンドウで表示する
- キー入力で表示用ウィンドウを破棄し終了
使った関数
- cv2.imread : 画像ファイルの読み出し
- cv2.resize : 画像サイズの変更
- cv2.imshow : 画像を別ウィンドウに表示する
環境
準備
画像ファイルはフリー写真素材ぱくたそからダウンロードさせていただき、"cat.jpg"というファイル名で、jupyter notebookファイル(***.ipynb)と同じディレクトリに保存しました。
コード
画像サイズをピクセルで指定する場合。cv2.resizeの引数dsizeを指定する。
import cv2 #OpenCVのインポート fname = "cat.jpg" #開く画像ファイル名 img = cv2.imread(fname) #画像を読み出しオブジェクトimgに代入。画像サイズ800x533px img_resize = cv2.resize(img,dsize=(200, 300)) #画像を横200px縦300pxにリサイズしオブジェクトimg_resizeに代入 cv2.imshow("resize",img_resize) #別ウィンドウを開き(ウィンドウ名 "resize")オブジェクトimg_resizeを表示 cv2.waitKey(0) #キー入力待ち cv2.destroyAllWindows() #ウインドウを閉じる
実行結果
別ウィンドウが開き、横200px縦300pxにリサイズされた画像が表示されます
コード
画像サイズを横縦の倍率で指定する場合。cv2.resizeの引数fx,fyを指定する。その場合、dsizeはNoneとする。
import cv2 #OpenCVのインポート fname = "cat.jpg" #開く画像ファイル名 img = cv2.imread(fname) #画像を読み出しオブジェクトimgに代入。画像サイズ800x533px img_resize = cv2.resize(img, dsize=None, fx=0.7, fy=0.3) #画像を横0.7倍、縦0.3倍にリサイズしオブジェクトimg_resizeに代入 cv2.imshow("resize",img_resize) #別ウィンドウを開き(ウィンドウ名 "resize")オブジェクトimg_resizeを表示 cv2.waitKey(0) #キー入力待ち cv2.destroyAllWindows() #ウインドウを閉じる
実行結果
別ウィンドウが開き、横0.7倍、縦0.3倍にリサイズされた画像が表示されます