banner

Blog

Jun 12, 2023

Come utilizzare il modulo fotocamera Raspberry Pi 3 con codice Python

Usa la libreria Picamera2 per controllarlo.

Il Raspberry Pi ha molti dei migliori accessori e uno che sicuramente apparirà in quell'elenco è il nuovo Camera Module 3. Nella nostra recensione del Raspberry Pi Camera Module 3, abbiamo detto che amiamo la messa a fuoco automatica veloce e le immagini HDR e vogliamo condividi queste funzionalità con te in questo tutorial.

Se non hai mai utilizzato una fotocamera Raspberry Pi prima, la nostra guida per principianti su Picamera2 è un'ottima introduzione per far sì che il tuo Pi scatti splendide foto. In questo tutorial esploreremo i molti modi in cui possiamo utilizzare il sistema di messa a fuoco del Camera Module 3 con Picamera2 e impareremo come acquisire immagini HDR con uno script semplice e veloce che automatizza il processo. Se Python non fa per te, Camera Module 3 può essere controllato anche utilizzando libcamera tramite il terminale.

L'autofocus ha tre modalità in cui funziona.

La messa a fuoco continua utilizza un algoritmo per cercare un target nel flusso di immagini. Non importa se il bersaglio è vicino (circa 10 cm) o lontano, l'algoritmo troverà il bersaglio e lo aggancerà. Ma come lo usiamo? Eseguiamo un test veloce. Utilizzeremo una modalità di messa a fuoco continua per cercare la migliore messa a fuoco possibile sul nostro obiettivo. Sarebbe utile avere un oggetto da tenere davanti alla macchina fotografica, noi abbiamo usato una banconota da un dollaro.

1.Dal menu principale aprire Programmazione >> Thonny.

2.Importa Picamera2.

3.Importa la classe dei controlli di libcamera.Con questo possiamo configurare la fotocamera in base alle nostre esigenze.

4.Crea un oggetto, picam2che utilizzeremo come collegamento tra il codice e la nostra fotocamera.

5.Avvia una finestra di anteprima.L'anteprima è dove vediamo l'output della fotocamera.

6.Impostare AfMode (modalità messa a fuoco automatica) su continuo.

7.Salva il codice come AFtest.py.

8.Fare clic su Esegui per avviare il codice. Apparirà una finestra di anteprima. Sposta un oggetto, abbiamo scelto una banconota da un dollaro, attorno all'inquadratura e osserva come l'attenzione si sposta. Prova ad avvicinare l'oggetto all'obiettivo, ricorda che il punto AF più vicino è a 10 centimetri.

A volte una messa a fuoco fissa è ciò di cui abbiamo bisogno per ottenere uno scatto eccezionale. Dopotutto, non vogliamo catturare un pasticcio sfocato. Fissare la messa a fuoco è relativamente semplice; infatti è così semplice che possiamo riutilizzare la maggior parte del codice dell'esempio precedente.

1.Utilizza Salva con nomenell'esempio precedente to creare un nuovo file chiamato ManualFocusTest.py

2.Cambia l'ultima riga per utilizzare LensPosition, in questo caso imposta il valore su 0.0 per un fuoco infinito.

3.Esegui il codice.Notate come la messa a fuoco è nitida per gli oggetti lontani, ma da vicino risultano sfocati.

4.Modificare il valore LensPosition su 0,5.Questo ci darà una distanza focale di circa 50 cm.

5.Salva ed esegui il codice. Spostare un oggetto verso e dalla fotocamera. Notare come la messa a fuoco diventa nitida intorno ai 50 cm.

Che si tratti di una telecamera per uccelli, di una giornata sportiva a scuola o della sicurezza domestica, a volte abbiamo bisogno di ottenere una serie di immagini nitide. Fortunatamente possiamo impostare il Camera Module 3 per scattare una serie di immagini rapide e impostare la messa a fuoco automatica ad alta velocità.

1.Crea un nuovo file chiamato AfFastFocus.py

2.Importa Picamera2.

3.Importa la classe dei controlli di libcamera.Con questo possiamo configurare la fotocamera in base alle nostre esigenze.

4.Crea un oggetto, picam2che utilizzeremo come collegamento tra il codice e la nostra fotocamera.

5.Avvia una finestra di anteprima.L'anteprima è dove vediamo l'output della fotocamera.

6.Imposta la modalità autofocus su Continuo e imposta AfSpeed ​​su Veloce.

7.Imposta la fotocamera per acquisire tre file, con un ritardo di mezzo secondo tra ogni scatto. Il nome file "fastfocus.jpg" aggiungerà 0, quindi 1 e 2 a ciascun file. Dandoci tre file in ordine numerico.

> Thonny. Import Picamera2. Import libcamera's controls class. Create an object, picam2 Start a preview window. Set the AfMode (Autofocus Mode) to be continuous. Save the code as AFtest.py. Click Run to start the code. Use Save As o create a new file called ManualFocusTest.py Change the last line to use LensPosition Run the code. Change the LensPosition value to 0.5. Save and run the code. Create a new file called AfFastFocus.py Import Picamera2. Import libcamera's controls class. Create an object, picam2 Start a preview window. Set the autofocus mode to Continuous and set the AfSpeed to Fast. Set the camera to capture three files, with a delay of half a second between each shot. Close the preview window. Close the camera connection. Save and run the code. AfFastFocus.py Create a new file called HDRAfFastFocus.py Import Picamera2. Import libcamera's controls class. Import the OS module Create an object, picam2 Use the system function from the os module to set the camera to use HDR. Print a message to the Python Shell Start a preview window. Set the autofocus mode to Continuous set the AfSpeed to Fast Set the camera to capture three files, with a delay of one second between each shot. Close the preview window. Close the camera connection. Print a message to the user Save and run the code./strong>
CONDIVIDERE