前段时间想要试试获取当前可用摄像头,找到了这条链接
python获取所有可用摄像头(id + 名称)可用于openv
作者提供了pycameralist库,但是生成的whl文件只有对应python3.6的,而我的环境是python3.9,我试了一些网上的办法,包括改whl文件名都没用,最后在作者原来的评论下面找到了解决办法,按照这个办法就能正确安装pycameralist了,这边分享一下
1.首先在本环境下安装cython:pip install cython
2.然后去下载pycameralist的源码,这里给出 pycameralist源码-gitee
3.找到下载下来的zip源码,名称应该是【py-camera-list-project-master.zip】
4.pip install D:\PyLib\py-camera-list-project-master.zip
5.等待安装完成
6.安装完成,可以使用了,下面是一个例程
#!/usr/bin/env python
# coding=utf-8
import sys
from PyCameraList.camera_device import list_video_devices, list_audio_devices
# 当前python版本
print("system version:", sys.version)
# 相机编号和名称
cameras = list_video_devices()
print("camera list:", dict(cameras))
# 麦克风编号和名称
audios = list_audio_devices()
print("audio list:", dict(audios))
输出为:
system version: 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)]
camera list: {0: 'USB Camera', 1: 'eBUS DirectShow Source'}
audio list: {0: 'Microphone (Realtek USB2.0 Audio)', 1: 'Analog Connector (Realtek USB2.0 Audio)', 2: 'Microphone (5- USB Microphone)'}