2022年4月3日日曜日

PySimpleGUIとOpenCVをインストールしてwebカメラの映像をウインドウに表示する(Ubuntu 20.04)

PySimpleGUIとOpenCVをインストールしてwebカメラの映像をウインドウに表示するには、以下の手順を実行します。

実行手順

1.pipenvのインストール
pipenvをインストール済みでない場合は、以下のコマンドでインストールします。
sudo apt-get -y install python3 python3-pip

sudo pip3 install --upgrade pip

sudo pip3 install --upgrade setuptools

sudo pip3 install pipenv

echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc

source ~/.bashrc

2. PySimpleGUIとOpenCVをインストールした仮想環境の作成
mkdir -p ./opencv

cd ./opencv

pipenv --python 3

pipenv install pysimplegui

pipenv install numpy

pipenv install opencv-python

pipenv install opencv-contrib-python

pipenv shell

サンプル実行手順

以下のファイルを保存して、実行します。
psgui_opencv.py
mport PySimpleGUI as sg
import cv2

sg.theme('SystemDefault')
layout = [
  [sg.Image(key='img1')]
]

# webカメラをキャプチャー
capture = cv2.VideoCapture(0)
window = sg.Window("webカメラ画面", layout=layout, finalize=True)
# イベントループ
while True:
  rv, frame = capture.read()
  if rv is True:
    # キャプチャーした画像をpngに変換
    img = cv2.imencode('.png', frame)[1].tobytes()
    # Imageの内容を更新
    window['img1'].update(data=img)

  event, values = window.read(timeout=0)
  if event == sg.WIN_CLOSED:
    break

capture.release()
window.close()

・実行コマンド
python3 psgui_opencv.py

○実行結果
webカメラの内容がウインドウに表示されます。

○動作環境
・Ubuntu 20.04

関連情報

PySimpleGUIで画像を表示する

・PySimpleGUIに関する他の記事はこちらを参照してください。

・OpenCVに関する他の記事はこちらを参照してください。

0 件のコメント:

コメントを投稿