Herunterladen Diese Seite drucken

SunFounder PiCar-X Kit Bedienungsanleitung Seite 67

Werbung

image
=
cv2.imdecode(data, 1)
image
=
image[:, :, ::-1]
Um die Verluste bei JPEG-Kodierung und -Dekodierung zu vermeiden, verwenden Sie die Klassen im picamera.
array Modul. Dadurch könnte auch die Bildverarbeitungsgeschwindigkeit erhöht werden.
Da OpenCV-Bilder einfach numpy -Arrays sind, die in BGR-Reihenfolge angeordnet sind, wird die Klasse PiRGBArray
verwendet und einfach im bgr -Format erfasst. Hinweis: RGB-Daten und BGR-Daten haben die gleiche Größe und
Konfiguration, weisen jedoch umgekehrte Farbebenen auf.
PiRGBArray
import
time
import
picamera
import
picamera.array
import
cv2
with
picamera.PiCamera()
camera.start_preview()
time.sleep(2)
with
picamera.array.PiRGBArray(camera)
camera.capture(stream,
image
=
stream.array
In Kombination mit der Methode zur Zeitrafferaufnahme werden diese 3-dimensionalen RGB-Arrays von OpenCV
angezeigt.
import
cv2
from
picamera.array
from
picamera
import
with
as
PiCamera()
camera:
camera.resolution
camera.framerate
rawCapture
=
PiRGBArray(camera, size=camera.resolution)
for
frame
in
camera.capture_continuous(rawCapture, format="bgr",use_video_port=True):
img
=
frame.array
cv2.imshow("video", img)
rawCapture.truncate(0)
k
=
cv2.waitKey(1)
if
k
==
27:
camera.close()
break
Es gibt viele weitere Möglichkeiten, Videostreams mit OpenCV zu lesen. Die in diesen Beispielen verwendeten sind
besonders gut geeignet für die nächsten vier PiCar-X Aufgaben, wie z.B.
Für weitere Möglichkeiten zur Verwendung von Videostreams siehe:
4.7. Computer Vision
as
camera:
format=
bgr
import
PiRGBArray
PiCamera
=
(640,480)
=
24
&
0xFF
as
stream:
)
Farberkennung
OpenCV-Python
SunFounder PiCar-X Kit
(Fortsetzung der vorherigen Seite)
und Gesichtserkennung.
Tutorials.
63

Werbung

loading