2

我开始玩 Opencv。我在 Linux 上为 opencv2 使用 python 绑定。我写了一个快速测试程序,但它似乎无限期地挂起。

import cv2

weblink = "http://continuous-video-stream-here"
cv2.namedWindow("video")

vid = cv2.VideoCapture(weblink)
key = -1

while (key < 0):
    success, img = vid.read()
    cv2.imshow("video", img)

但它挂在这个输出上:

(video:14388): GStreamer-CRITICAL **: gst_caps_unref: assertion `caps != NULL' failed

我也尝试过从 urllib2 读取:

vid = cv2.VideoCapture(urllib2.urlopen(weblink).read())

但这也没有用。

我正在使用 Opencv 2.4.2,ffmpeg-0.11.2

编辑:视频提要使用 realplayer 在浏览器中通过 http 显示视频。

4

1 回答 1

0

安全编码并测试方法的返回:

vid = cv2.VideoCapture(weblink)
if not vid:
    print("!!! Failed VideoCapture: invalid parameter!")

OpenCV 可能不支持您使用的地址。

每当方法可能失败时,都应使用相同的做法:

while (key < 0):
    success, img = vid.read()
    if not img:
        print("!!! Failed vid.read()")
        break

    cv2.imshow("video", img)
于 2012-09-25T17:57:04.193 回答