確保你的系統有conda環境並且安裝了cv2。
–確保你conda是基於Python3.x以上。
–原理就是循環cv2中VideoCapture的指定攝像頭的號數。
–從0開始計數,當VideoCapture初始化攝像頭失敗時,
–(這里使用的是VideoCapture中的grab()函數,如果成功返回True,否則是False)
–那么代表着沒有這個攝像頭。終止計數退出循環。這里建議要設置循環的上限。
import cv2 import os class Camera: def __init__(self, cam_preset_num=10): self.cam_preset_num = cam_preset_num def get_cam_num(self): cnt = 0 for device in range(0, self.cam_preset_num): stream = cv2.VideoCapture(device) grabbed = stream.grab() stream.release() if not grabbed: break cnt = cnt + 1 print(cnt) os.system("python ./OpenVideo.py") if __name__ == '__main__': cam = Camera() cam_num = cam.get_cam_num()
轉自:https://blog.csdn.net/JayLincoder/article/details/102494407