В этом уроке мы будем управлять камерой RPi с помощью мощного языка программирования Python. Мы сделаем несколько фотографий, научимся применять различные фильтры и эффекты и даже снимем видео. Перед тем, как приступить к данному уроку, рекомендуется предварительно настроить ваш Raspberry Pi по этому руководству.
Нам понадобится:
- Raspberry Pi 3 x 1 шт.
- Raspberry Pi Camera Board x 1 шт.
Подключение:
Сперва подключим камеру к миникомпьютеру. Для этого найдите на плате тонкий вертикальный разъем для камеры (он расположен между выходом HDMI и 3.5мм аудио-разъемом для наушников). Аккуратно приподнимите за оба края пластиковую заглушку разъема. Вставьте шлейф от камеры в разъем (контакты на шлейфе должны смотреть в сторону HDMI выхода). Теперь опустите пластиковую заглушку и прижмите контакты шлейфа к разъему.
Настройка:
Для настройки камеры выберите пункт Raspberry Pi Configuration в главном меню (Main Menu > Preferences > Raspberry Pi Configuration). Включите камеру, поставив галочку напротив соответствующей опции. Перезагрузите микрокомпьютер, чтобы изменения вступили в силу.
Первое фото:
Откройте интегрированную среду разработки Python 3 (Main Menu > Programming > Python 3 IDLE). Создайте новый файл и как-нибудь назовите его (например, cam_demo.py). Теперь напишите следующий код:
from picamera import PiCamera # Импортируем класс PiCamera из модуля picamera from time import sleep # Импортируем функцию sleep из модуля time # cam_demo = PiCamera() # Создаем экземпляр класса (объект) PiCamera # cam_demo.start_preview() # Начинаем предпросмотр sleep(10) # Ждем 10 секунд cam_demo.stop_preview() # Прекращаем предпросмотр
Сохраните этот код и запустите на выполнение нажатием клавиши F5. Камера в течение десяти секунд будет выводить изображение на экран монитора. На тот случай, если картинка с камеры оказалось перевернутой, после создания объекта добавьте строку:
cam_demo.rotation = 180 # Переворачивает картинку на 180 градусов. Доступны значения 0, 90, 180, 270
Это перевернет изображение к удобному виду. Теперь попробуем сохранить фото на компьютер:
from picamera import PiCamera # Импортируем класс PiCamera из модуля picamera from time import sleep # Импортируем функцию sleep из модуля time # cam_demo = PiCamera() # Создаем экземпляр класса (объект) PiCamera # cam_demo.start_preview() # Начинаем предпросмотр sleep(5) # Ждем 5 секунд, чтобы датчик камеры успел адаптироваться к окружающему уровню света cam_demo.capture('/home/pi/Desktop/Demo.jpg') # Сохраняем изображение на рабочий стол под именем Demo.jpg cam_demo.stop_preview() # Прекращаем предпросмотр
Этот код сохранит изображение в файл "Demo.jpg" на рабочем столе. Его можно открыть простым кликом мышки.
Обсуждение