Picamera на Raspberry Pi 2. Программирование камеры на Python.

Использование камеры Picamera с Raspberry Pi

 

Возможности использования видеокамеры совместно с микрокомпьютером Raspberry Pi:

  • Организация системы видеонаблюдения с дистанционным управлением:

    Охранные сигнализации любых удаленных объектов c определением движения в кадре,
    с возможностью выслать оповещение о движении в кадре на почту,
    мобильные устройства, с возможностью онлайн наблюдения,
    в том числе и с мобильных устройств.

    Устройства наблюдения за живой природой, автоматизированная камера для фотоохоты.

    Возможность дистанционно управлять камерой, выполнять повороты и
    панорамирование с помощью программируемых дополнительных механизмов.

  • Съемка цейтрафера, тайм-лапс на протяжении неограниченного количества времени

    С помощью Picamera и Raspberry возможно снимать практически бесконечные тайм-лапсы на протяжении нескольких лет.

    Можно снимать и анимировать смену сезонов, времени суток, рост растений, изменение ландшафтов, ход строительства любых объектов.

    Все, что изменяется со временем, даже очень медленно, можно ускорить и зафиксировать изменения с помощью связки Raspberry Pi и Picamera.

  • Прямые трансляции видеоизображений в интернет, потоковое вещание

    Выбор качества изображения и потока, веб-камеры постоянного вещания на любых объектах и пространствах.

 

Отличия от обычных интернет-камер, wi-fi видеокамер:

  • Управление напрямую всеми свойствами камеры на уровне аппаратного обеспечения
  • Возможность программирования любых уникальных функций на языках высокого уровня
  • Возможность записи на любые цифровые носители, включая облачные хранилища и запись по сети на общие сетевые устройства
  • Возможность конструирования любых механических устройств для дистанционных физических манипуляций с камерой
  • Возможность использования любых объективов с помощью переходников и насадок,
    в том числе объективы от профессиональной фототехники Canon, Nikon, Sony и других
  • Возможность создания полноценной интеллектуальной видеокамеры, умеющей реагировать на события и
    взаимодействовать с оператором, компьютером или любыми вычислительными машинами

 

Самым удобным языком программирования камеры Picamera, установленной
на Raspberry Pi, является Python.

Перед программистом открываются возможности использования любых настроек камеры.

 

Для программирования  модуля камеры Raspberry (Raspberry Pi camera module) на языке Python,
необходимо использовать библиотеку picamera:

import picamera

Затем создаем новый объект класса Picamera:

camera = picamera.PiCamera()

После этого можно выводить на экран превью (предпросмотр) изображения с  миниатюрной видеокамеры:

camera.start_preview()

Для завершения вывода предварительного просмотра используется команда:

camera.stop_preview()

 

Полностью код примера:

import picamera
import time

camera = picamera.PiCamera()

camera.start_preview()
time.sleep(10)
camera.stop_preview()

Для вывода картинки с камеры на монитор в течении 10 секунд, добавлено использование
библиотеки time и команды паузы time.sleep(10) длительностью 10 секунд.

 

Еще несколько полезных команд языка Python  для управления камерой на Raspberry Pi:

  • Выключение красной лампочки (светодиода)  записи ( индикатора записи или съемки)
    на корпусе камеры:

    camera.led = False

    False – индикатор видеосъемки выключен
    True – индикатор видеосъемки включен

    camera.led

     
     

  • Установка разрешения ( для видео и фото, одновременно)
    camera.resolution=(2592,1944)

    Поддерживаются несколько разрешений, здесь указано максимальное разрешение камеры.
    Также доступны разрешения: 640×480, 1296×730, 1296×972, 1920×1080

    camera.resolution

     
     

  • Управление экспозицией:
    camera.exposure_mode = 'auto'

    Существует несколько режимов для управления экспозицией, например режим night

    camera.exposure_mode

     
     

  • Управление скоростью затвора ( выдержкой) камеры:
    camera.shutter_speed=1000

    camera.shutter_speed

     
     

  • Съемка и запись в файл статичного изображения (фотография):
    camera.capture('image.jpg')

    camera.captured

     
     

  • Старт режима видеозаписи в файл:
    camera.start_recording('video.h264')

    camera.start_recording

     
     

  • Окончание записи видеопотока с камеры в файл:
    camera.stop_recording()

    camera.stop_recording