Comment détecter le type de caméra installée?

12

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?

Boris Spektor
la source
Pourquoi ne pas consulter les spécifications de la caméra en ligne?
Dark Vador
L'appareil lui-même sera inaccessible et j'ai donc besoin d'identifier le modèle de la caméra via ssh.
Boris Spektor
2
Prendre une photo et regarder la résolution / taille? Doit être sensiblement différent.
Ghanima
Existe-t-il une commande cli pour voir les dimensions d'une image? Si c'est le cas, je pourrais simplement diriger la sortie de raspistill dans cette commande info.
Boris Spektor

Réponses:

8

Aucune de ces réponses.

Tirez parti du pilote v4l ( modprobe bcm2835-v4l2), et utilisez la v4l2-ctlcommande 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
JayEye
la source
La vraie question est apparemment comment puis-je obtenir le V412-ctl? Avec moi, cela dit simplement "aucun fichier ou répertoire". "Impossible de localiser le package v412-ct" Sans ces informations, la réponse est incomplète.
Albert van der Horst
3

Rien de ce qui précède n'a fonctionné pour moi. Avec Raspbian Stretch (version de juin 2018, noyau 4.14), Python 3.5 et picamera 1.13, j'ai utilisé:

import picamera

with picamera.PiCamera() as cam:
    print(cam.revision)
EdMc2
la source
2

Si vous êtes heureux de coder C, jetez un œil aux lignes pertinentes de raspistill qui utilise le nouveau MMAL_PARAMETER_CAMERA_INFOpour 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.modelparamè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.revisionplutôt que modèle!

Dave Jones
la source
Merci pour la mise à jour! Ce message apparaît d'abord dans une recherche de `` picamera get model '', donc je suis reconnaissant pour le fil d'Ariane
Mike McCabe
0

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 2592x1944quel est l'appareil photo 5MP.

penser logiquement
la source