首页 > 解决方案 > Raspberry Pi 相机使用 python OpenCv 将视频流式传输到 Nvidia Xavier NX 丢失颜色信息

问题描述

树莓派 0w 摄像头运行:

raspivid -n -t 0 -rot 180 -w 640 -h 480 -fps 30 -b 1000000 -o - | gst-launch-1.0 -e -vvvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 ! udpsink host=192.168.1.242 port=5000

从操作系统测试的 Xavier NX 在颜色上运行良好:

gst-launch-1.0 -v udpsrc port=5000 ! application/x-rtp, media=video, clock-rate=90000, encoding-name=H264, payload=96 !  rtph264depay ! decodebin ! autovideoconvert ! ximagesink

Xavier NX python OpenCV 代码 - 缺少颜色(灰色视频) - 当我打印框架 .shape 时,我得到高度和宽度,没有颜色信息:

import cv2

cam0 = cv2.VideoCapture('udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=96"'
    ' !  rtph264depay' 
    ' ! decodebin'
    ' ! autovideoconvert'
    ' ! appsink', cv2.CAP_GSTREAMER)

while True:
    _, frameCam0 = cam0.read()
    print(frameCam0.shape)
    cv2.imshow("Camera 0", frameCam0)
    cv2.moveWindow("Camera 0", 0, 0)

    if cv2.waitKey(1)==ord('q'):   
        break
cam0.release()
cv2.destroyAllWindows()

标签: python-3.xopencvgstreamer

解决方案


推荐阅读