Ich werde das Verfahren zum Streamen des Kamerabildes von ev3 mit dem mjpg-Streamer vorstellen. Mit ev3dev können Sie einen Streaming-Server einrichten, indem Sie einfach die Software installieren. Erstellen Sie einen Code, um das Video mit OpenCV auf der PC-Seite anzuzeigen.
Wir verwenden apt-get, um MJPG-streamer zu installieren. Erstellen Sie jedoch im Voraus einen Auslagerungsbereich, da dieser aufgrund von unzureichendem Speicher mit den Standardeinstellungen möglicherweise fehlschlägt. Bitte lesen Sie diesen Artikel, um die Methode zu erstellen! [EV3 x Python] So erstellen Sie einen Swap-Bereich
Wenn Sie überhaupt nicht wissen, wie Sie das Terminal öffnen sollen ↓ [EV3 x Python] SSH-Verbindung
Geben Sie den folgenden Befehl im Terminal ein: Wenn Sie nach dem Passwort gefragt werden, geben Sie "aker "ein
$ cd ~
$ sudo apt-get install -y cmake libv4l-dev libjpeg-dev imagemagick
$ git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/mjpg-streamer-experimental
$ make
$ sudo make install
$ cd ~/mjpg-streamer/mjpg-streamer-experimental/
$ ./mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so"
Wenn Sie mit dem Browser des PCs, an den EV3 angeschlossen ist, auf http: //ev3dev.local: 8080 zugreifen, wird die Streaming-Seite geöffnet. Es tut mir leid in einem schmutzigen Raum w
streaming.py
from cv2.cv2 import VideoCapture,waitKey,imshow,destroyAllWindows
#Geben Sie den Link an, an den das Video gesendet werden soll.
cap = VideoCapture("http://ev3dev.local:8080/?action=stream")
#Wenn der Link nicht geöffnet werden kann
if not cap.isOpened():
print("Cannot open a video capture.")
exit(-1)
while True:
#Die Schleife endet, wenn die Esc-Taste gedrückt wird
k = waitKey(1)
if k == 27:
break
#Holen Sie sich den Frame des eingehenden Videos
ret, frame = cap.read()
#Wenn der Rahmen nicht erhalten werden konnte
if not ret:
continue
#Rahmen anzeigen
imshow("EV3 Streaming", frame)
#Freigabe der Erfassung&schließe das Fenster
cap.release()
destroyAllWindows()
Recommended Posts