Jak wykryć typ zainstalowanej kamery?

12

Muszę wiedzieć, jak zdalnie wykryć, czy moduł kamery 8mp czy 5mp jest podłączony do rpi w celu implementacji w osadzonym projekcie.

Jakaś pomoc?

Boris Spektor
źródło
Dlaczego nie sprawdzić w Internecie specyfikacji aparatu?
Darth Vader
Samo urządzenie będzie niedostępne, więc muszę zidentyfikować model aparatu przez ssh.
Boris Spektor
2
Zrób zdjęcie i spójrz na rozdzielczość / rozmiar? Powinno być znacznie inne.
Ghanima
Czy istnieje polecenie cli, aby zobaczyć wymiary obrazu? Jeśli tak, to mogę po prostu przesłać dane wyjściowe raspistill do tego polecenia informacyjnego.
Boris Spektor

Odpowiedzi:

8

Żadne z powyższych.

Skorzystaj ze sterownika v4l ( modprobe bcm2835-v4l2) i albo użyj v4l2-ctlpolecenia z interfejsu CLI, albo, jeśli chcesz się podoba, skorzystaj z bibliotek v4l2 z Pythona lub C:

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

(znacznie więcej wyników)

# v4l2-ctl --list-framesizes=YU12
ioctl: VIDIOC_ENUM_FRAMESIZES
        Size: Stepwise 16x16 - 2592x1944 with step 2/2
JayEye
źródło
Najwyraźniej pytanie brzmi, jak mogę uzyskać V412-CTL? Ze mną mówi tylko „nie ma takiego pliku ani katalogu”. „Nie można znaleźć pakietu v412-ct” Bez tych informacji odpowiedź jest niepełna.
Albert van der Horst,
3

Żadne z powyższych nie działało dla mnie. Z Raspbian Stretch (wersja z czerwca 2018 r., Kernel 4.14), Python 3.5 i picamera 1.13 użyłem:

import picamera

with picamera.PiCamera() as cam:
    print(cam.revision)
EdMc2
źródło
2

Jeśli lubisz kodować C, spójrz na odpowiednie linie w raspistill, który używa nowego MMAL_PARAMETER_CAMERA_INFOdo wyszukiwania typu dołączonej kamery.

Jeśli nie jesteś tak zadowolony z C, musisz poczekać tydzień, aż skończę Picamera 1.11, która będzie miała nowy PiCamera.modelparametr, możesz zapytać o te same informacje (to zwróci ciąg zawierający nazwę czujnika jako zwrócone przez MMAL_PARAMETER_CAMERA_INFO).

Aktualizacja Jak dobrze pokazuje odpowiedź EdMc2, skończyło się na tym, że nazywam to, PiCamera.revisiona nie model!

Dave Jones
źródło
Dziękuję za aktualizację! Ten post pojawia się po raz pierwszy w wyszukiwaniu hasła „picamera get model”, więc jestem wdzięczny za bułkę tartą
Mike McCabe
0

Odpowiedź EdMc2 zadziałała dla mnie - ale wersja cam.revision wyświetla tylko nazwę czujnika kamery. Znalazłem więc maksymalną rozdzielczość taką:

import picamera

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

Możesz zapisać plik (na przykład picamera.py) i wykonać go w następujący sposób:

python3 picamera.py

Mój wynik to 2592x1944aparat 5MP.

myśl logicznie
źródło