2022年9月5日月曜日

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

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

実行手順

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

sudo apt-get -y install python3-pip python3-distutils python3-dev

sudo pip3 install --upgrade setuptools

pip3 install --user pipenv

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

echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc

source ~/.bashrc

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

cd ./psgui-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カメラの内容がウインドウに表示されます。

〇動作環境
Raspberry Pi OS (Raspbian Bullseye)

関連情報

Raspberry Pi OS(Raspbian Bullseye)にPySimpleGUIをインストールして、簡単なウインドウを表示する

0 件のコメント:

コメントを投稿