VideoCapture.getの引数には、以下を指定します。
・cv2.CAP_PROP_FRAME_WIDTH : 画像の幅
・cv2.CAP_PROP_FRAME_HEIGHT : 画像の高さ
サンプルコードの実行手順
1. PySimpleGUIとOpenCVがインストールされた環境の構築以下のページを参照して、環境を構築します。
・PySimpleGUIとOpenCVをインストールしてwebカメラの映像をウインドウを表示する
2. サンプルプログラムの作成と実行
以下のファイルを保存して、実行します。
psgui_opencv_res.py
mport PySimpleGUI as sg
import cv2
sg.theme('SystemDefault')
layout = [
[sg.Image(key='img1')]
]
# webカメラをキャプチャー
capture = cv2.VideoCapture(0)
# webカメラの解像度を取得
width = capture.get(cv2.CAP_PROP_FRAME_WIDTH)
height = capture.get(cv2.CAP_PROP_FRAME_HEIGHT)
# ウインドウのタイトルバーに解像度を表示
window = sg.Window("webカメラ画面 {}x{}".format(int(width), int(height))
, layout=layout, finalize=True)
# イベントループ
while True:
rv, frame = capture.read()
if rv is True:
img = cv2.imencode('.png', frame)[1].tobytes()
window['img1'].update(data=img)
event, values = window.read(timeout=50)
if event == sg.WIN_CLOSED:
break
capture.release()
window.close()
・実行方法
以下のコマンドを実行します
python3 psgui_opencv_res.py
関連情報
・PySimpleGUIで画像を表示する・PySimpleGUIに関する他の記事はこちらを参照してください。
・OpenCVに関する他の記事はこちらを参照してください。
0 件のコメント:
コメントを投稿