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

12

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

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

Борис Спектор
источник
Почему бы не посмотреть спецификации камеры онлайн?
Дарт Вейдер
Само устройство будет недоступно, поэтому мне нужно определить модель камеры через ssh.
Борис Спектор
2
Сфотографировать и посмотреть на разрешение / размер? Должно быть существенно другим.
Ганима
Есть ли команда cli, чтобы увидеть размеры изображения? Если так, то я мог бы просто передать вывод raspistill в эту команду info.
Борис Спектор
почерпните вдохновение здесь superuser.com/questions/275502/… а здесь unix.stackexchange.com/questions/75635/…
Ганима

Ответы:

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
JayEye
источник
Фактический вопрос, по-видимому, как я могу получить 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)
EdMc2
источник
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-мегапиксельная камера.

thinklogically
источник