我开始玩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
编辑:视频Feed使用realplayer在浏览器中通过http显示视频。
答案 0 :(得分: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)