Быстрый старт с камерами с глобальным затвором на NVIDIA Jetson
Работа с камерой через GStreamer
Как получить изображение с камер через GStreamer, описано в руководстве:
Программа просмотра Arducam Displayer
Установка драйвера
Шаг 1. Скачайте скрипт автоматической установки
wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
Шаг 2. Установите драйвер
chmod +x install_full.sh
./install_full.sh -m arducam

Введите y, чтобы перезагрузить устройство.
Как работать с камерой
Некоторые программы просмотра видео, например VLC, поддерживают только форматы вроде GRAY и YUV и могут не поддерживать формат Bayer. Для таких случаев Arducam предлагает демо-скрипт на Python: он показывает, как открыть камеру и вывести изображение через OpenCV. В демо-коде важно соблюсти три шага.
- Задайте параметр apiPreference в VideoCapture как CAP_V4L2.
- Отключите преобразование в RGB.
- Сдвиньте биты данных под реальную разрядность выхода камеры и при необходимости преобразуйте цвета.
1. Установите модуль v4l2 для Python
Для Python 3.x:
wget https://bootstrap.pypa.io/get-pip.py

Введите команду ниже и нажмите Enter — загрузка займёт несколько минут.
sudo python3 get-pip.py


sudo pip3 install v4l2-fix


Как исправить ошибку, описано в отчёте № 1664158 о модуле python-v4l2 на Launchpad.
2. Скачайте демо-код
git clone https://github.com/ArduCAM/MIPI_Camera.git


3. Проверьте, что камера определилась
ls /dev/video0

4. Проверьте поддерживаемые форматы видео
v4l2-ctl --list-formats-ext
5. Выведите изображение в реальном времени
Если вы подключаетесь к Jetson удалённо (например, через MobaXterm), для вывода изображения один раз выполните команду:
export DISPLAY=:0.0
Перейдите в папку программы:
cd MIPI_Camera/Jetson/Jetvariety/example/
Посмотрите справку по параметрам:
python arducam_displayer.py -d 0
Запустите демо-программу:
python arducam_displayer.py
Чтение регистров сенсора
Драйвер Arducam MIPI Camera для Jetson Nano позволяет обращаться к регистрам сенсора камеры и платы драйвера через ioctl. Пример использования — в файлах rw_sensor.c и rw_sensor.py.
Справка rw_sensor.py

Примеры rw_sensor.py
Чтение одного регистра:
python rw_sensor.py -d 0 -r 0x3500
Чтение нескольких регистров:
python rw_sensor.py -d 0 -r 0x3500 0x3501 0x3502
Запись одного регистра:
python rw_sensor.py -d 0 -r 0x3500 -v 0x01
Запись нескольких регистров:
python rw_sensor.py -d 0 -r 0x3500 0x3501 -v 0x01 0x02
Просмотр в VLC
Некоторые камеры поддерживают захват изображения в VLC. Учтите, что VLC поддерживает не все форматы.
Подготовка
Сначала проверьте, поддерживает ли VLC форматы вашей камеры.
# input the command to check the camera formats
sudo apt-get install -y v4l-utils
v4l2-ctl --list-formats-ext
Запуск VLC

Откройте медиаплеер VLC.
Вывод изображения
Нажмите Ctrl+C.

В поле «Video device name» выберите «/dev/video0» и нажмите «Play».

Настройка экспозиции, усиления и частоты кадров
Нажмите Ctrl+E и на вкладке «v4l2 control» настройте ползунки «Exposure», «Gain» и «Frame_rate».
