Я пытался локально (подключен к Ethernet-кабелю) открывать камеру Axis M1054 с использованием OpenCv под Python. Я работаю под Windows, 7 - 64. Я использую этот код с помощью камеры компании Axis, как подключена только камера:Как открыть осевую камеру M1054 с opencv - Python
import sys
import cv2
import numpy as np
capture = cv2.VideoCapture(0)
if not capture.isOpened():
print "Error opening capture device"
capture.release()
cv2.destroyAllWindows()
if capture.isOpened():
print "Device captured correctly",capture
while 1:
ret, frame = capture.read()
print "frame1 =",frame
if ret == False :
print "frame is None"
break
cv2.imshow('Camera 1',frame)
if cv2.waitKey(100) == 0x1b:
print 'ESC pressed. Exiting ...'
break
capture.release()
cv2.destroyAllWindows()
Все, что я получаю от нее черного экрана и все матрицы отображаются благодаря
print "frame1 =",frame
пестрят 0.
Я также пытался вызвать камеру с помощью
cv2.VideoCapture(http://169.254.167.2/axis-cgi/mjpg/video.cgi?resolution=352x240?.mjpg)
Но я все равно получаю тот же результат.
Также важно заметить, что даже если он отображает только черное изображение и нулевые матрицы, компьютер запрашивает у меня учетные данные камеры, когда я запускаю код.
Я искал решение, но ничего, кажется, работает (я также пытался получить живое видео с Windows Media Encoder до и затем вызвать его с
cv2.VideoCapture(0)
Но не получить любой лучший результат. ли кто-то уже сталкивался с этой проблемой?
Привет, Adrien, спасибо за ваш ответ. Я пытался использовать URL в VLC и получил ошибки, пока не попробовал: http://169.254.167.2/mjpg/video.mjpg был открыт на VLC. Тем не менее, когда я изменил свой код на Python, чтобы открыть его с помощью OpenCV (т. Е. Открыв его с помощью cv2.VideoCapture («URL»), он тоже не работает, знаете ли вы какой-либо другой метод, более подходящий для вызова потока URL-адреса http ? –
см. Мое изменение о имени пользователя/пароле –