シリーズ記事一覧
| タイトル リンク | |
|---|---|
| 第1回 | 環境構築 |
| 第2回 | Python 概要 |
| 第3回 | Python 基礎 |
| 第4回 | Pythonで学ぶWebの基本と実践 |
| 第5回 | Streamlitを使ってみよう |
| 第6回 | Streamlitでリアルタイム画像処理 |
| 第7回 | リアルタイムで顔検出を行ってみよう |
リアルタイム画像処理アプリを作成してみよう
リアルタイム画像処理Webアプリを作成
ライブラリをインストールする
pip install -U streamlit streamlit-webrtc opencv-python-headless
-
streamlit: Streamlit本体 -
streamlit-webrtc: Streamlitでリアルタイム映像・音声を扱うコンポーネント -
opencv-python-headless: OpenCV(UIはStreamlitで作成するのでHeadless版を使用)
カメラの映像を表示するWebアプリを作成
-
以下の内容を
camera.pyとして作成し、保存するimport streamlit as st from streamlit_webrtc import webrtc_streamer st.title("My first Streamlit app") st.write("Hello, world") webrtc_streamer(key="example") -
プログラムを実行する
streamlit run camera.py -
プログラムを停止する
Ctrl + c
リアルタイム画像処理を行うWebアプリの作成
-
以下の内容を
webrtc.pyとして作成し、保存するimport streamlit as st from streamlit_webrtc import webrtc_streamer import av import cv2 st.title("My first Streamlit app") st.write("Hello, world") def callback(frame): img = frame.to_ndarray(format="bgr24") img = cv2.cvtColor(cv2.Canny(img, 100, 200), cv2.COLOR_GRAY2BGR) return av.VideoFrame.from_ndarray(img, format="bgr24") webrtc_streamer(key="example", video_frame_callback=callback) -
プログラムを実行する
streamlit run webrtc.py -
プログラムを停止する
Ctrl + c