Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.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/4/macos/9.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-CV2:检查其他应用程序是否使用网络摄像头_Python_Macos_Opencv_Webcam - Fatal编程技术网

PYTHON-CV2:检查其他应用程序是否使用网络摄像头

PYTHON-CV2:检查其他应用程序是否使用网络摄像头,python,macos,opencv,webcam,Python,Macos,Opencv,Webcam,我正在尝试开发一个代码,用python和cv2检查网络摄像头是否被其他应用程序使用(如Zoom、Skype等) 例如,在macOS中,您可以在终端lsof | grep“VDC”中使用此命令查看网络摄像头是否正在运行 所以我不想用这种代码打开它 import numpy as np import cv2 cap = cv2.VideoCapture(0) if(cap.isOpened()): print("Camera conntected") else:

我正在尝试开发一个代码,用python和cv2检查网络摄像头是否被其他应用程序使用(如Zoom、Skype等)

例如,在macOS中,您可以在终端
lsof | grep“VDC”
中使用此命令查看网络摄像头是否正在运行

所以我不想用这种代码打开它

import numpy as np
import cv2

cap = cv2.VideoCapture(0)
if(cap.isOpened()):
    print("Camera conntected")
else:
    print("Alert ! Camera disconnected")`
我只想检查它是否被其他应用程序打开或关闭,并打印“正在运行”或“未运行”。


我更喜欢使用python,但如果有其他语言,我可以随意报告;)

即使它不是完美的,最好的解决方案应该是使用try-except,并在相机已经打开的情况下强制它“bug”。 我试图访问cv2的警告,但看起来有点困难

以下是适用于您的案例的代码:

将numpy导入为np
进口cv2
cap=cv2.视频捕获(0)
如果(cap.isOpened()):
打印(“摄像头连接”)
其他:
打印(“警报!摄像头已断开”)
数字=0
而cap.isOpened():
尝试:
ret,frame=cap.read()
如果数字=0:
打印(透镜(框架))
例外情况除外,如e:
打印('照相机已使用')
打破
数量_比率+=1

出于隐私原因,目前macOS不允许用户查看哪个应用程序正在使用系统资源作为摄像头


无论如何,你可以检查一下,你已经实现了你想要的。也许,通过本机实现,您可以获得相机状态或以某种方式解决它。

感谢您提供最快的响应!。此解决方案不起作用我运行代码并始终运行网络摄像头并显示摄像头连接720。如果无法使用CV2,您知道其他库吗?或者我应该使用其他语言?真的吗?我在我的电脑上试过了,当我尝试启动2.py时,除了第二个,它会转到第二个。不是你问的?谁使用你的网络摄像头?另一个程序(不是.py)?我在macOS BigSur 11.2.3中运行,我想检测chrome或zoom等应用程序是否正在使用它。有可能吗?我在windows 10上试过了。在我的MacOS Catalina 10.15.7上,它不起作用,我甚至可以像你一样多次使用它。在那种情况下我没有解决办法。。