banner

Блог

Jun 12, 2023

Как использовать модуль камеры 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. Даем нам три файла в числовом порядке.

> Thonny. Import Picamera2. Import libcamera's controls class. Create an object, picam2 Start a preview window. Set the AfMode (Autofocus Mode) to be continuous. Save the code as AFtest.py. Click Run to start the code. Use Save As o create a new file called ManualFocusTest.py Change the last line to use LensPosition Run the code. Change the LensPosition value to 0.5. Save and run the code. Create a new file called AfFastFocus.py Import Picamera2. Import libcamera's controls class. Create an object, picam2 Start a preview window. Set the autofocus mode to Continuous and set the AfSpeed to Fast. Set the camera to capture three files, with a delay of half a second between each shot. Close the preview window. Close the camera connection. Save and run the code. AfFastFocus.py Create a new file called HDRAfFastFocus.py Import Picamera2. Import libcamera's controls class. Import the OS module Create an object, picam2 Use the system function from the os module to set the camera to use HDR. Print a message to the Python Shell Start a preview window. Set the autofocus mode to Continuous set the AfSpeed to Fast Set the camera to capture three files, with a delay of one second between each shot. Close the preview window. Close the camera connection. Print a message to the user Save and run the code./strong>
ДЕЛИТЬСЯ