gpt4 book ai didi

python - IP摄像机Python错误

转载 作者:太空宇宙 更新时间:2023-11-03 22:59:35 25 4
gpt4 key购买 nike

我正在尝试从 IP 摄像机访问视频。我正在使用 OpenCV 和 Python 来这样做。我试过的代码如下:

import numpy as np
import cv2
from cv2 import cv

camera=cv.CaptureFromFile("http://root:root@192.168.0.90/axis-cgi/mjpg/video.cgi?resolution=640x480&req_fps=30&.mjpg")
if camera is None:
print 'Camera is null'
else:
print 'Camera is not null'
cv.NamedWindow("win")

while True:
image=cv.QueryFrame(camera)
cv.ShowImage("win", image)
k=int(cv.WaitKey(10))
if k is 27:
break

在运行这段代码时,我得到的输出是:

Image not converted

在使用另一种方法时,CaptureFromCAM 而不是 CaptureFromFile 代码是:

import numpy as np
import cv2
from cv2 import cv

camera=cv.CaptureFromCAM(0)
if camera is None:
print 'Camera is null'
else:
print 'Camera is not null'
cv.NamedWindow("win")

while True:
image=cv.QueryFrame(camera)
if image is None:
print 'No conversion to IPL Image'
break
else:
cv.ShowImage("win", image)

当我运行这段代码时,我得到的错误是:

ERROR: SampleCB() - buffer sizes do not match
No conversion to IPL Image

我读到了它,SampleCB() 错误是在缓冲区大小与预期输入大小不匹配的情况下发生的。我试图更改流媒体分辨率,但似乎没有任何效果。我关注了this线程和this线。他们提供了 C++ 代码,但在转换为 Python(上面给出的代码)时它不起作用。或者线程给出了运动检测的代码。我正在使用 Windows 7 和 Eclipse使用 Pydev 进行开发。我该怎么办?

最佳答案

哦,请坚持使用 cv2 API .当前的 OpenCV 版本不再提供旧的 cv:

import numpy as np
import cv2

cv2.namedWindow("win")
camera = cv2.VideoCapture("http://username:pass@192.168.0.90/axis-cgi/mjpg/video.cgi?resolution=640x480&req_fps=30&.mjpg")
while camera.isOpened():
ok, image = camera.read()
if not ok:
print 'no image read'
break
cv2.imshow("win", image)
k = cv2.waitKey(1) & 0xff
if k == 27 : break # Esc pressed

关于python - IP摄像机Python错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21721813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com