Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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
在Python中使用OpenCV访问IP摄像头_Python_Opencv_Ip Camera - Fatal编程技术网

在Python中使用OpenCV访问IP摄像头

在Python中使用OpenCV访问IP摄像头,python,opencv,ip-camera,Python,Opencv,Ip Camera,我正试图使用Python中的OpenCV访问我的IP摄像头,但当我运行代码时,出现以下错误: OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::ipp_cvtColor, file ..\..\..\modules\imgproc\src\color.cpp, line 7456 Traceback (most recent call last): File "C:/Users/taimur.islam/Desktop/

我正试图使用Python中的OpenCV访问我的IP摄像头,但当我运行代码时,出现以下错误:

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::ipp_cvtColor, file ..\..\..\modules\imgproc\src\color.cpp, line 7456
Traceback (most recent call last):
  File "C:/Users/taimur.islam/Desktop/ipcamera/b.py", line 11, in <module>
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: ..\..\..\modules\imgproc\src\color.cpp:7456: error: (-215) scn == 3 || scn == 4 in function cv::ipp_cvtColor

warning: Error opening file (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:779)
warning: http://Admin:Admin@192.168.10.74:8899/videostream.cgi?.mjpg (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:780)

您可能从
http://Admin:Admin@192.168.10.74
,或者根本没有帧,但您的代码中没有处理这种情况,在
ret,frame=cap.read()
之后,您必须检查是否接收到有效帧,或者如果ret==True:,是否使用
。您可以查阅更多信息,只需更改为while(cap.isOpened()):,并获得警告。警告:打开文件时出错(/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:779)警告:(/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:780)如果测试ret==True:,这里没有响应意味着没有实际接收到帧。您能理解错误的原因吗?我一直在想这可能是因为
http://Admin:Admin@192.168.10.74
,或者根本没有帧,但您的代码中没有处理这种情况,在
ret,frame=cap.read()
之后,您必须检查是否接收到有效帧,或者如果ret==True:
,是否使用
。您可以查阅更多信息,只需更改为while(cap.isOpened()):,并获得警告。警告:打开文件时出错(/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:779)警告:(/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:780)如果测试ret==True:,这里没有响应意味着没有实际接收到帧。您能理解错误的原因吗?我被这件事缠住了
import numpy as np
import cv2

cap = cv2.VideoCapture('http://Admin:Admin@192.168.10.74:8899/videostream.cgi?.mjpg')

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()