J'ai besoin de savoir comment détecter à distance si un module de caméra 8mp ou 5mp est connecté au rpi pour l'implémentation dans un projet intégré.
De l'aide?
J'ai besoin de savoir comment détecter à distance si un module de caméra 8mp ou 5mp est connecté au rpi pour l'implémentation dans un projet intégré.
De l'aide?
Réponses:
Aucune de ces réponses.
Tirez parti du pilote v4l ( modprobe bcm2835-v4l2
), et utilisez la v4l2-ctl
commande de la CLI, ou, si vous voulez vous faire plaisir, utilisez les bibliothèques v4l2 de python ou C:
# v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YU12'
Name : Planar YUV 4:2:0
(beaucoup plus de sortie)
# v4l2-ctl --list-framesizes=YU12
ioctl: VIDIOC_ENUM_FRAMESIZES
Size: Stepwise 16x16 - 2592x1944 with step 2/2
Si vous êtes heureux de coder C, jetez un œil aux lignes pertinentes de raspistill qui utilise le nouveau MMAL_PARAMETER_CAMERA_INFO
pour rechercher le type de caméra connecté.
Si vous n'êtes pas si satisfait de C, vous devrez attendre environ une semaine pendant que je termine picamera 1.11 qui aura un nouveau PiCamera.model
paramètre que vous pouvez interroger pour les mêmes informations (cela renverra une chaîne contenant le nom du capteur comme retourné par MMAL_PARAMETER_CAMERA_INFO
).
Mise à jour
Comme le montre clairement la réponse d'EdMc2, j'ai fini par appeler cela PiCamera.revision
plutôt que modèle!
La réponse d'EdMc2 a fonctionné pour moi - mais cam.revision n'affiche que le nom du capteur de la caméra. J'ai donc trouvé une résolution maximale comme celle-ci:
import picamera
with picamera.PiCamera() as cam:
print(cam.MAX_RESOLUTION)
Vous pouvez enregistrer le fichier (par exemple, picamera.py) et l'exécuter comme ceci:
python3 picamera.py
Mon résultat est 2592x1944
quel est l'appareil photo 5MP.