Камера cv2 python
Можно ли сделать как-то проверку через cv2 на наличие камеры.
Просто я хочу сделать условие, если камера есть = делать одно, но если её нет - другое
Ответы (1 шт):
Автор решения: Dmitry
→ Ссылка
Имеется ответ на enSO, который решает вашу проблему.
Сама функция проверки выглядит так
import cv2
def returnCameraIndexes():
# checks the first 10 indexes.
index = 0
arr = []
i = 10
while i > 0:
cap = cv2.VideoCapture(index)
if cap.read()[0]:
arr.append(index)
cap.release()
index += 1
i -= 1
return arr
cams = returnCameraIndexes()
Функция проверяет первые 10 индексов и возвращает доступные. Тестировал на Win10 pro.
Результат => возвращен лист [0, 1]. Нулевой индекс - встроенная камера, первый - внешняя.
Логично предположить, что пустой лист будет означать отсутствие камеры, можно проверить и написать логику
if cams:
# действия при наличии камеры
pass
else:
# действия при ее отсутствии
pass