小编Ric*_*igh的帖子

OpenCV Python,从命名管道读取视频

我正在尝试实现如视频(使用netcat的方法3)所示的结果 https://www.youtube.com/watch?v=sYGdge3T30o

关键是将视频从树莓派流式传输到ubuntu PC并使用openCV和python处理它。

我用命令

raspivid -vf -n -w 640 -h 480 -o - -t 0 -b 2000000 | nc 192.168.0.20 5777

将视频流式传输到我的PC,然后在PC上创建名称管道“ fifo”并重定向输出

 nc -l -p 5777 -v > fifo
Run Code Online (Sandbox Code Playgroud)

然后我试图读取管道并在python脚本中显示结果

import cv2
import sys

video_capture = cv2.VideoCapture(r'fifo')
video_capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640);
video_capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480);

while True:
    # Capture frame-by-frame
    ret, frame = video_capture.read()
    if ret == False:
        pass

    cv2.imshow('Video', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything is done, release the capture
video_capture.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

但是我最终会遇到一个错误

[mp3 @ 0x18b2940] …

python opencv pipe stream raspberry-pi2

5
推荐指数
1
解决办法
5252
查看次数

标签 统计

opencv ×1

pipe ×1

python ×1

raspberry-pi2 ×1

stream ×1