Доступ до відеокамер у Python можна ефективно реалізувати за допомогою бібліотеки OpenCV, яка надає інструменти для захоплення відеопотоків з локальних та зовнішніх джерел. Користуючись класом `VideoCapture`, можна легко інтегрувати функціональність відеозахоплення в програми, що працюють як з веб-камерами, так і з файлами відео. Це дозволить взаємодіяти з відеопотоками в реальному часі, що відкриває можливості для створення програм відеонагляду, відеочатів, аналітики зображень та інших програм, які вимагають відеоаналітики.
import cv2
import sys
# Ініціалізація змінної для визначення джерела відео
s = 0
# Перевірка чи передані аргументи командного рядка
if len(sys.argv) > 1:
s = sys.argv[1] # Використання першого аргументу як шляху до файлу або ідентифікатора камери
# Створення об'єкта VideoCapture для захоплення відео з камери або відтворення файлу
source = cv2.VideoCapture(s)
# Назва вікна, яке буде відображати відео
win_name = 'Camera Preview'
# Створення вікна для відображення відео з можливістю зміни розміру
cv2.namedWindow(win_name, cv2.WINDOW_NORMAL)
# Головний цикл для читання кадрів і відображення їх у вікні
while cv2.waitKey(1) != 27: # Чекати 1 мс і перервати цикл, якщо натиснуто Escape (27)
has_frame, frame = source.read() # Зчитування кадру
if not has_frame: # Якщо кадри закінчились, перервати цикл
break
cv2.imshow(win_name, frame) # Відображення кадру у вікні
# Звільнення ресурсів та закриття вікон
source.release()
cv2.destroyWindow(win_name)
Немає коментарів:
Дописати коментар