Outils pour utilisateurs

Outils du site


streamer_des_images_opencv_avec_v4l2-loopback

Ceci est une ancienne révision du document !


Streamer des images OpenCV avec v4l2-loopback

Le stream avec zeromq est sans latence, mais ne peut pas être reçu par Pure Data et VLC.
v4l2-loopback a un peu de latence (0.1 à 0.2 seconde) mais c'est un flux v4l2

Ressources

Installation

A voir, nécessaire mais peut-être pas suffisant:

sudo apt install v4l2loopback-utils
sudo apt install python3-pip
python3 -m pip install --upgrade pip
sudo apt install python3-venv
 
cd /le/dossier/de/votre/projet
python3 -m venv mon_env
source mon_env/bin/activate
python3 -m pip install opencv-python pyfakewebcam

Exemple simple pour tester

cam_relay.py
"""
Insert the v4l2loopback kernel module.
modprobe v4l2loopback devices=2
will create two fake webcam devices
"""
 
import time
import pyfakewebcam
import cv2
 
import numpy as np
 
cap = cv2.VideoCapture(0)
camera = pyfakewebcam.FakeWebcam('/dev/video1', 640, 480)
 
while True:
    ret, image = cap.read()
    if ret:
        # # gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
        camera.schedule_frame(image)
    if cv2.waitKey(1) == 27:
        break
 
"""
Run the following command to see the output of the fake webcam.
ffplay /dev/video1
or open a camera in vlc
"""

Exécuter le script avec:

cd /le/dossier/de/votre/projet
modprobe v4l2loopback devices=2
./mon_env/bin/python3 

Dans un autre terminal

ffplay /dev/video1

Il faudra peut-être adapter les numéro de /dev/video

Profondeur d'une OAK-D Lite

cd /le/dossier/de/votre/projet
source mon_env/bin/activate
python3 -m pip install depthai numpy
sender_oak_depth.py
 

Profondeur d'une RealSense D455

Pour l'installation, voir https://github.com/sergeLabo/grande_echelle#installation

cd /le/dossier/de/votre/projet
source mon_env/bin/activate
python3 -m pip install  pyrealsense2 numpy
sender_rs_depth.py
 
streamer_des_images_opencv_avec_v4l2-loopback.1645362399.txt.gz · Dernière modification : de serge