Как использовать модуль камеры Raspberry Pi 3 с кодом Python
Используйте библиотеку Picamera2 для управления ею.
Raspberry Pi имеет множество лучших аксессуаров, и один из них обязательно появится в этом списке — новый модуль камеры 3. В нашем обзоре модуля камеры Raspberry Pi 3 мы сказали, что нам нравится быстрый автофокус и HDR-изображения, и мы хотим поделитесь этими функциями с вами в этом руководстве.
Если вы никогда раньше не пользовались камерой Raspberry Pi, наше руководство для начинающих по Picamera2 — отличное руководство, которое поможет вам научиться делать отличные снимки с помощью Pi. В этом практическом руководстве мы рассмотрим множество способов использования системы фокусировки модуля камеры 3 с Picamera2 и научимся снимать HDR-изображения с помощью быстрого и простого сценария, который автоматизирует этот процесс. Если вам не нравится Python, то модулем камеры 3 также можно управлять с помощью libcamera через терминал.
Автофокус имеет три режима, в которых он работает.
Непрерывная фокусировка использует алгоритм для поиска цели в потоке изображений. Неважно, находится ли цель близко (около 10 см) или далеко, алгоритм найдет цель и зафиксируется. Но как мы его используем? Давайте проведем быстрый тест. Мы будем использовать режим непрерывной фокусировки, чтобы добиться наилучшей фокусировки на нашей цели. Было бы полезно иметь предмет, который можно было бы поднести к камере, мы использовали долларовую купюру.
1.В главном меню откройте Программирование >> Тонни.
2.Импортируйте Пикамеру2.
3.Импортируйте класс элементов управления libcamera.Благодаря этому мы можем настроить камеру в соответствии с нашими требованиями.
4.Создайте объект, picam2.который мы будем использовать в качестве связи между кодом и нашей камерой.
5.Запустите окно предварительного просмотра.Предварительный просмотр — это то место, где мы видим результат работы камеры.
6.Установите непрерывный режим AfMode (режим автофокусировки).
7.Сохраните код как AFtest.py.
8.Нажмите «Выполнить», чтобы запустить код. Появится окно предварительного просмотра. Перемещайте объект (мы выбрали долларовую купюру) по кадру и наблюдайте, как смещается фокус. Попробуйте приблизить объект к объективу, помните, что ближайшая точка фокусировки — 10 сантиметров.
Иногда фиксированный фокус — это то, что нам нужно, чтобы получить отличный снимок. В конце концов, мы не хотим запечатлеть размытый беспорядок. Зафиксировать фокус относительно просто; на самом деле это настолько просто, что мы можем повторно использовать большую часть кода из предыдущего примера.
1.Используйте «Сохранить как»в предыдущем примере тo создайте новый файл с именем ManualFocusTest.py.
2.Измените последнюю строку, чтобы использовать LensPosition., в этом случае установите значение 0,0 для бесконечного фокуса.
3.Запустите код.Обратите внимание, что фокус резкий на объектах, находящихся далеко, но вблизи они размыты.
4.Измените значение LensPosition на 0,5.Это даст нам фокусное расстояние примерно 50 см.
5.Сохраните и запустите код. Перемещайте объект к камере и от нее. Обратите внимание, как фокус становится резким примерно на расстоянии 50 см.
Будь то камера наблюдения за птицами, школьный спортивный день или домашняя безопасность, иногда нам нужно получить серию четких изображений. К счастью, мы можем настроить модуль камеры 3 на съемку серии быстрых изображений и установить высокую скорость автофокусировки.
1.Создайте новый файл с именем AfFastFocus.py.
2.Импортируйте Пикамеру2.
3.Импортируйте класс элементов управления libcamera.Благодаря этому мы можем настроить камеру в соответствии с нашими требованиями.
4.Создайте объект, picam2.который мы будем использовать в качестве связи между кодом и нашей камерой.
5.Запустите окно предварительного просмотра.Предварительный просмотр — это то место, где мы видим результат работы камеры.
6.Установите режим автофокусировки на «Непрерывный» и установите для AfSpeed значение «Быстрый».
7.Настройте камеру на съемку трех файлов с задержкой в полсекунды между каждым кадром. К имени файла «fastfocus.jpg» к каждому файлу будет добавлено 0, затем 1 и 2. Даем нам три файла в числовом порядке.