Мне нужно знать, как удаленно определять, подключен ли 8-мегапиксельный или 5-мегапиксельный модуль камеры к rpi для реализации во встроенном проекте.
Любая помощь?
Мне нужно знать, как удаленно определять, подключен ли 8-мегапиксельный или 5-мегапиксельный модуль камеры к rpi для реализации во встроенном проекте.
Любая помощь?
Ответы:
Ни один из вышеперечисленных.
Воспользуйтесь драйвером 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
Если вы довольны кодированием C, взгляните на соответствующие строки в raspistill, который использует новый, MMAL_PARAMETER_CAMERA_INFO
чтобы найти тип подключенной камеры.
Если вы не очень довольны C, вам придется подождать неделю или около того, пока я закончу picamera 1.11, у которого будет новый PiCamera.model
параметр, который вы можете запросить для той же информации (это вернет строку, содержащую имя датчика как вернулся MMAL_PARAMETER_CAMERA_INFO
).
Обновление
Как четко показывает ответ EdMc2, я PiCamera.revision
скорее назвал это , чем модель!
Ответ EdMc2 работал для меня - но cam.revision отображает только имя датчика камеры. Итак, я нашел максимальное разрешение, как это:
import picamera
with picamera.PiCamera() as cam:
print(cam.MAX_RESOLUTION)
Вы можете сохранить файл (например, picamera.py) и выполнить его следующим образом:
python3 picamera.py
Мой результат 2592x1944
- 5-мегапиксельная камера.