最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)獲取所有可用攝像頭(id+名稱)可用于opencv

 更新時間:2026年01月21日 14:24:30   作者:babybin  
本文介紹了PyCameraListProject,這是一個用于解決OpenCV庫中VideoCapture調(diào)用攝像頭時無法直接通過名稱選擇攝像頭問題的庫,它支持Python?3.6至3.10的64位Windows版本,并提供測試代碼

緣起

python下使用opencv庫使用VideoCapture調(diào)用攝像頭時,只能傳入枚舉號,而不知道相應(yīng)的相機名稱。電腦有多個攝像頭時,選擇攝像頭就會很不方便;電腦只有一個攝像頭 時有時攝像頭的ID也不一定是0。

我們希望能夠獲取所有CV可以使用的攝像頭信號源。

這個庫的目的就是為解決這個問題而生。當(dāng)前python3.6, 3.7, 3.8, 3.9, 3.10的64位win版本可以直接pip安裝。

pip install pycameralist

有需要源碼的也可以從我的gitee項目拉取。PyCameraListProject

測試代碼1

#!/usr/bin/env python
# coding=utf-8

from PyCameraList.camera_device import test_list_cameras, list_video_devices, list_audio_devices

cameras = list_video_devices()
print(dict(cameras))
#return: {0: 'Intel(R) RealSense(TM) 3D Camera (Front F200) RGB', 1: 'NewTek NDI Video', 2: 'Intel(R) RealSense(TM) 3D Camera Virtual Driver', 3: 'Intel(R) RealSense(TM) 3D Camera (Front F200) Depth', 4: 'OBS-Camera', 5: 'OBS-Camera2', 6: 'OBS-Camera3', 7: 'OBS-Camera4', 8: 'OBS Virtual Camera'}
 
audios = list_audio_devices()
print(dict(audios))
#return:  {0: '麥克風(fēng)陣列 (Creative VF0800)', 1: 'OBS-Audio', 2: '線路 (NewTek NDI Audio)'}

測試代碼2

#!/usr/bin/env python
# coding=utf-8

from PyCameraList.camera_device import test_list_cameras, list_video_devices, list_audio_devices
import cv2 as cv


def show_in_cv(camera_id):
    cap = cv.VideoCapture(camera_id, cv.CAP_DSHOW)
    cap.set(cv.CAP_PROP_FRAME_WIDTH, 960)
    cap.set(cv.CAP_PROP_FRAME_HEIGHT, 540)
    cap.set(cv.CAP_PROP_FPS, 30)
    i = 0
    while True:
        suc, frame = cap.read()
        if not suc:
            break
        cv.imshow("preview camera", frame)
        cv.waitKey(30)
        i += 1
    return


def main():
    cameras = list_video_devices()
    print(f'\n\n===========================\ncamera_list: {cameras}')
    idx = 1
    camera_id = cameras[idx][0]
    camera_name = cameras[idx][1]
    print(f'\n\n===========================\npreview camera: camera_id={camera_id} camera_name={camera_name}')
    show_in_cv(camera_id)


if __name__ == '__main__':
    main()

 效果:

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

东平县| 开阳县| 莱西市| 兴文县| 古丈县| 临泉县| 久治县| 十堰市| 沈丘县| 曲靖市| 抚宁县| 诸暨市| 泾阳县| 桃园市| 天气| 辰溪县| 会泽县| 仁怀市| 重庆市| 海阳市| 诏安县| 常宁市| 通渭县| 宣化县| 定西市| 玉树县| 威远县| 石楼县| 油尖旺区| 奉贤区| 涿鹿县| 通州区| 浦城县| 甘孜| 定陶县| 耒阳市| 玉门市| 宝兴县| 阜宁县| 台州市| 抚州市|