Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过OpenCV和python打开IP摄像头Url?_Python_Opencv - Fatal编程技术网

如何通过OpenCV和python打开IP摄像头Url?

如何通过OpenCV和python打开IP摄像头Url?,python,opencv,Python,Opencv,我已经在MacX(Lion)上安装了opencv,并支持ffmpeg import cv2 import cv import base64 import time import urllib2 import numpy as np from cv2 import __version__ print(__version__) video="http://xxx.223.91.91/mjpg/1/video.mjpg?dummy=param.avi" vv = cv.CaptureFromFil

我已经在MacX(Lion)上安装了opencv,并支持ffmpeg

import cv2
import cv
import base64
import time
import urllib2
import numpy as np

from cv2 import __version__

print(__version__)
video="http://xxx.223.91.91/mjpg/1/video.mjpg?dummy=param.avi"
vv = cv.CaptureFromFile(video)
cv2.namedWindow("preview")
vc = cv2.VideoCapture("http://xxx.223.91.91/mjpg/1/video.mjpg?dummy=param.mjpg")
但要发出警告

2.4.2

警告:无法读取电影文件

警告:无法读取电影文件

我用谷歌搜索了很多代码,但找不到解决问题的方法。
请帮助我,谢谢。

你是说OpenCV不能直接打开MJPG流吗?但我在谷歌代码上搜索到的结果表明,该代码使用的是OpenCV直接打开MJPG流,但我的实验不起作用。根据我的经验,正确配置的OpenCV可以直接打开MJPG流。然而,似乎有一些配置魔法,我不完全理解。是的,opencv可以在以下条件下打开一个mjpg流。1) 它是用ffmpeg编译的。2) url字符串必须以
mjpg
3)结尾。由于opencv调用ffmpeg时未设置最大分析持续时间,因此流不会立即启动。当然,通过强制执行
-f mjpeg
并设置较低的
max_analyze_duration
来编辑opencv代码,修复是很简单的。但这种方法避免了fat依赖性,并允许对流进行更精细的控制。我有一个解释和用法示例@你是说OpenCV不能直接打开MJPG流吗?但我在谷歌代码上搜索到的结果表明,该代码使用的是OpenCV直接打开MJPG流,但我的实验不起作用。根据我的经验,正确配置的OpenCV可以直接打开MJPG流。然而,似乎有一些配置魔法,我不完全理解。是的,opencv可以在以下条件下打开一个mjpg流。1) 它是用ffmpeg编译的。2) url字符串必须以
mjpg
3)结尾。由于opencv调用ffmpeg时未设置最大分析持续时间,因此流不会立即启动。当然,通过强制执行
-f mjpeg
并设置较低的
max_analyze_duration
来编辑opencv代码,修复是很简单的。但这种方法避免了fat依赖性,并允许对流进行更精细的控制。我有一个解释和一个用法示例@
import cv2
import urllib 
import numpy as np

stream=urllib.urlopen('http://localhost:8080/frame.mjpg')
bytes=''
while True:
    bytes+=stream.read(16384)
    a = bytes.find('\xff\xd8')
    b = bytes.find('\xff\xd9')
    if a!=-1 and b!=-1:
        jpg = bytes[a:b+2]
        bytes= bytes[b+2:]
        i = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),cv2.CV_LOAD_IMAGE_COLOR)
        cv2.imshow('i',i)
        if cv2.waitKey(1) ==27:
            exit(0)