camera

Модуль для работы с камерой

camera.cameras_available()

Возвращает число, количество доступных камер смартфона

camera.exposure_modes()

Возвращает список, режимы съемки

camera.flash_modes()

Возвращает список, режимы работы вспышки

>>> camera.flash_modes()
['auto', 'center', 'night']
camera.image_modes()

Возвращает список, поддерживаемые форматы изображений

>>> camera.image_modes()
['RGB12', 'RGB', 'JPEG_Exif', 'RGB16']
camera.image_sizes()

Возвращает список, поддерживаемые размеры изображений

>>> camera.image_sizes()
[(1600, 1200), (1024, 768), (800, 600), (640, 480), (160, 120)]
camera.max_zoom()

Возвращает число, максимальное цифровое увеличение камеры

>>> camera.max_zoom()
71
camera.release()

Освобождает камеру, после чего к ней могут получить доступ другие приложения.

>>> camera.release()
camera.start_finder(callable[, backlight_on=1, size=main_pane_size])
Parameters:
  • callable – обработчик изображения, которому передается изображение.
  • backlight_on – 0|1 подсвтека экрана
  • size – размер возвращаемого изображения

Начинает захват изображения с камеры, периодически вызывая обработчик.

>>> camera.start_finder()
camera.start_record(filelename, callable)
Parameters:
  • filename – путь к файлу
  • callable

    обработчик изображения, которому передается статус работы.

    • camera.EOpenComplete - открытие видео-файла выполнено успешно;
    • camera.ERecordComplete - запись видео-файла выполнено успешно (функция не вызывается с этим кодом при вызове функции stop_record());
    • camera.EPrepareComplete - устройство готово к началу видеосъемки.

Начинает съемку видео с камеры.

camera.stop_finder()

Останавливает захват

camera.stop_record()

Останавливает запись видео

camera.take_photo([mode, size, flash, zoom, exposure, white_balance, position])
Parameters:
  • mode

    режим цветности (битность). По умолчанию равен ‘RGB16’. Может иметь значение из списка полученное функцией image_modes():

    • ‘RGB12’ - 4096 цветов (12 бит на пиксель);
    • ‘RGB16’ - 65536 цветов (16 бит на пиксель);
    • ‘RGB’ - 16.7 миллионов цветов (24 бит на пиксель).

    Для формата изображения JPEG данный аргумент может иметь следующие значения:

    • ‘JPEG_Exif’ - формат JPEG (содержащий метаданные);
    • ‘JPEG_JFIF’ - формат JFIF (разновидность JPEG).
  • size – размер изображения. По умолчанию равен (640, 480). Может иметь одно из значений полученное функцией image_sizes()
  • flash

    режим работы вспышки. По умолчанию равен ‘none’. Может иметь значение из списка полученной функцией flash_modes()

    • ‘none’ - без вспышки;
    • ‘auto’ - автоматическая вспышка;
    • ‘forced’ - яркая вспышка;
    • ‘fill_in’ - вспышка с умеренной яркостью;
    • ‘red_eye_reduce’ - режим вспышки направленного против эффекта «красных глаз».
  • zoom – уровень цифрового увеличения. Должен быть целым числом из диапазона от 0 до значения полученное функцией max_zoom()
  • exposure

    режим съемки. По умолчанию равен ‘auto’. Может иметь одно из значений полученное функцией exposure_modes():

    • ‘auto’ - автоматический режим;
    • ‘night’ - ночной режим;
    • ‘backlight’ - пейзаж;
    • ‘center’ - портрет.
  • white_balance

    баланс белого. По умолчанию равен ‘auto’. Может иметь одно из значений полученное функцией white_balance_modes():

    • ‘auto’ - автоматическое определение;
    • ‘daylight’ - солнечный день;
    • ‘cloudy’ - облачная погода;
    • ‘tungsten’ - освещение от лампы накаливания;
    • ‘fluorescent’ - флуоресцентное освещение;
    • ‘flash’ - быстроменяющееся освещение.
  • position – номер камеры. По умолчанию равен 0, дополнительная камера имеет номер 1.

Делает снимок с камеры и возвращает объект Image и данные Raw JPEG (в виде строки), содержащие как саму фотографию, так и метаданные (ширина и высота, глубина цвета, модель оборудования и камеры, светосила, фокусное расстояние и т.д.), которые можно напрямую сохранить в файл.

camera.white_balance_modes()

Возвращает список, настройки баланса белого

>>> camera.white_balance_modes()
['daylight, 'fluorescent, 'tungsten', 'auto', 'cloudy']