我怎么知道我的网络摄像头当前正在工作?我试图检查“ stream.read()”,因为它在相机不活动时返回“ None”。但是,当摄像机处于活动状态时,“ stream.read()”将返回一个数组,并且会出现错误“具有多个元素的数组的真值不明确。请使用a.any()或a.all()”。我该如何解决? 我的代码:
import cv2
import time
from tkinter import *
stream = cv2.VideoCapture(0)
time.sleep(10)
while True:
r, f = stream.read ()
a=f
print(a)
if a==None:
print("No active")
else:
print("Active")
cv2.imshow('IP Camera stream',f)
# f = imutils.resize(f, width=400)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
答案 0 :(得分:1)
f
是numpy的数组,要检查它不是None
,则必须检查
if f is None:
代替
if f == None:
当f
具有数组时,您将比较array == None
并尝试将None
与array
中的每个元素进行比较,并且它是模棱两可的-因此它要求使用{{ 1}}或any()
答案 1 :(得分:1)