USB3-камеры UVC: быстрый старт в Windows
ПримечаниеВ Windows для работы с камерой UVC 3.0 Arducam рекомендует PotPlayer и пример на Python с OpenCV.
Подключение оборудования
Комплект поставки (на примере B0471)
Подключение
Работа с программами
PotPlayer
Поддерживаемые системы
Windows 8, Windows 8.1, Windows 10 и новее
Установка PotPlayer
Скачайте PotPlayer с официального сайта программы и установите на компьютер.
Как включить камеру
Откройте программу и щёлкните в левом верхнем углу, чтобы открыть меню.
Как выбрать разрешение и частоту кадров

Как настроить другие параметры


Пример на Python и OpenCV 1
Поддерживаемые системы
Windows и Linux
Код примера
Код примера на Python опубликован на GitLab.
Установка зависимостей
python -m pip install -r requirements.txt
Справка по параметрам
python arducam_demo.py -h

Как включить камеру
python .\arducam_demo.py -F -W 3840 -H 2160 -d 1280:720
Чтобы закрыть окно камеры, нажмите q на клавиатуре.

Сохранение снимков
Добавьте к команде запуска параметр -o и нажмите s на клавиатуре — снимок сохранится по указанному пути.
python .\arducam_demo.py -F -W 3840 -H 2160 -d 1280:720 -o test.jpg
Пример на Python и OpenCV 2
Простой пример: как включить ручную экспозицию у модуля камеры.
import cv2
def list_ports():
is_working = True
dev_port = 0
while is_working:
camera = cv2.VideoCapture(dev_port)
if not camera.isOpened():
is_working = False
print("Camera",dev_port,"not found")
else:
is_working = False
print("Camera",dev_port,"found")
dev_port += 1
return dev_port-1
camera_index = list_ports()
cap = cv2.VideoCapture(camera_index)
if cap.isOpened():
# 1. Automatic exposure control, Linux OS: AUTO=0, Manual=1; Windows OS: AUTO=1, Manual=0
cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0)
# 2. Set Exposure Value: Experiment with these values!
exposure_value = -12 # Example: Adjust as needed. Exposure range from -13 ~ -1(int)
cap.set(cv2.CAP_PROP_EXPOSURE, exposure_value)
print(f"Exposure set to: {exposure_value}")
# 3. Set Gain (Optional): Gain can also affect brightness
gain_value = 100 # Example: Adjust as needed.
cap.set(cv2.CAP_PROP_GAIN, gain_value)
print(f"Gain set to: {gain_value}")
cv2.namedWindow("Video", cv2.WINDOW_NORMAL) # Create a window to display the video
while(True):
ret, frame = cap.read()
if not ret: # Check if frame reading was successful
print("Error reading frame. Check camera connection or video source.")
break
cv2.imshow('Video', frame) # Display the frame
if cv2.waitKey(1) & 0xFF == ord('q'): # Press 'q' to quit
break
cap.release()
cv2.destroyAllWindows()
else:
print("Failed to open camera.")