Как определить тип установленной камеры?


12

Мне нужно знать, как удаленно определять, подключен ли 8-мегапиксельный или 5-мегапиксельный модуль камеры к rpi для реализации во встроенном проекте.

Любая помощь?


Почему бы не посмотреть спецификации камеры онлайн?
— Дарт Вейдер

Само устройство будет недоступно, поэтому мне нужно определить модель камеры через ssh.
— Борис Спектор

2
Сфотографировать и посмотреть на разрешение / размер? Должно быть существенно другим.
— Ганима

Есть ли команда cli, чтобы увидеть размеры изображения? Если так, то я мог бы просто передать вывод raspistill в эту команду info.
— Борис Спектор

Ответы:


8

Ни один из вышеперечисленных.

Воспользуйтесь драйвером v4l ( modprobe bcm2835-v4l2) и либо воспользуйтесь v4l2-ctlкомандой из CLI, либо, если хотите, вы можете использовать библиотеки v4l2 из python или C:

# v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
        Index       : 0
        Type        : Video Capture
        Pixel Format: 'YU12'
        Name        : Planar YUV 4:2:0

(намного больше выхода)

# v4l2-ctl --list-framesizes=YU12
ioctl: VIDIOC_ENUM_FRAMESIZES
        Size: Stepwise 16x16 - 2592x1944 with step 2/2

Фактический вопрос, по-видимому, как я могу получить V412-CTL? Со мной это просто говорит "нет такого файла или каталога". «Невозможно найти пакет v412-ct». Без этой информации ответ неполон.
— Альберт ван дер Хорст

3

Ничто из вышеперечисленного не помогло мне. С помощью Raspbian Stretch (версия на июнь 2018 года, Kernel 4.14), Python 3.5 и picamera 1.13 я использовал:

import picamera

with picamera.PiCamera() as cam:
    print(cam.revision)

2

Если вы довольны кодированием C, взгляните на соответствующие строки в raspistill, который использует новый, MMAL_PARAMETER_CAMERA_INFOчтобы найти тип подключенной камеры.

Если вы не очень довольны C, вам придется подождать неделю или около того, пока я закончу picamera 1.11, у которого будет новый PiCamera.modelпараметр, который вы можете запросить для той же информации (это вернет строку, содержащую имя датчика как вернулся MMAL_PARAMETER_CAMERA_INFO).

Обновление Как четко показывает ответ EdMc2, я PiCamera.revisionскорее назвал это , чем модель!


Спасибо за обновление! Этот пост появляется первым в поиске «picamera get model», поэтому я благодарен за панировочные сухари
— Майк МакКейб,

0

Ответ EdMc2 работал для меня - но cam.revision отображает только имя датчика камеры. Итак, я нашел максимальное разрешение, как это:

import picamera

with picamera.PiCamera() as cam:
    print(cam.MAX_RESOLUTION)

Вы можете сохранить файл (например, picamera.py) и выполнить его следующим образом:

python3 picamera.py

Мой результат 2592x1944- 5-мегапиксельная камера.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.