3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[PyVista]カメラのキャプチャ映像をテスクチャにマッピング(調査メモ)

Posted at

はじめに

PyVistaで作成した3Dオブジェクトに、ストリーミング配信からキャプチャした映像をテクスチャとしてマッピングするスクリプト(PyVistaを個人開発ウソ穴に使えるかもと調査中)

概要

同じネットワーク内に、カメラ付きラズパイとWindows10の構成
ラズパイに接続したカメラの映像を3Dオブジェクトのテスクチャにします。

概要

  • Windows10
    • Python 3.9.2
    • opencv-contrib-python 4.5.3.56
    • pyvista 0.31.3
  • Raspberry PI 3 model B+
    • MJPG-streamer

実行結果

後述するスクリプトの実行結果。円柱の3Dオブジェクトを作成し、ラズパイに接続したカメラの映像を3Dオブジェクトのテスクチャにしています。

↓ カメラの前に青い壁をたてている(銀色の箱の中はカメラ付きラズパイ)

スクリプト

test.py
import pyvista as pv
from pyvista import examples
import numpy as np
from matplotlib.cm import get_cmap
import cv2

targetImage = "http://{{ラズパイIPアドレス}}:8090/?action=stream"
cap = cv2.VideoCapture( targetImage )

numpy_image = np.array(targetImage)
surf = pv.Cylinder()
ret, frame = cap.read()
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
tex = pv.numpy_to_texture(frame)
surf.plot(texture=tex)

補足

[ラズパイ]MJPEG-Streamerでストリーミングを実行するコマンド
(MJPEG-Streamerのインストールは ここ を参照)

$ /usr/local/bin/mjpg_streamer -i "input_raspicam.so -x 400 -y 400 -fps 15 -q 100" -o "output_http.so -p 8090 -w /usr/local/share/mjpg-streamer/www"

参考

参考にしたサイト

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?