利用opencv-python(cv2)查看设备连接摄像头的数量

本文介绍如何在conda环境下,基于Python3.x及以上版本,利用opencv-python(cv2)库检测并确定系统连接的摄像头数量。通过循环调用VideoCapture函数,结合grab()方法判断摄像头是否可用,当初始化失败时,表示已达到摄像头的最大数量,从而终止循环。
部署运行你感兴趣的模型镜像

–确保你的系统有conda环境并且安装了cv2。
–确保你conda是基于Python3.x以上。
–原理就是循环cv2中VideoCapture的指定摄像头的号数。
–从0开始计数,当VideoCapture初始化摄像头失败时,
–(这里使用的是VideoCapture中的grab()函数,如果成功返回True,否则是False)
–那么代表着没有这个摄像头。终止计数退出循环。这里建议要设置循环的上限。

import cv2

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

        return cnt

if __name__ == '__main__':
    cam = Camera()
    cam_num = cam.get_cam_num()
    print(cam_num)

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值