banner

blog

Jun 12, 2023

Como usar o Raspberry Pi Camera Module 3 com código Python

Use a biblioteca Picamera2 para controlá-lo.

O Raspberry Pi tem muitos dos melhores acessórios e um que certamente aparecerá nessa lista é o novo Módulo de câmera 3. Em nossa revisão do Raspberry Pi Camera Module 3, dissemos que amamos o autofoco rápido e as imagens HDR e queremos compartilhe esses recursos com você neste tutorial.

Se você nunca usou uma câmera Raspberry Pi antes, nosso guia para iniciantes do Picamera2 é uma ótima cartilha para fazer seu Pi tirar ótimas fotos. Neste tutorial, exploraremos as várias maneiras pelas quais podemos usar o sistema de foco do Camera Module 3 com o Picamera2 e aprenderemos como tirar imagens HDR com um script rápido e simples que automatiza o processo. Se você não gosta de Python, o Camera Module 3 também pode ser controlado usando libcamera por meio do terminal.

O foco automático possui três modos nos quais opera.

O foco contínuo usa um algoritmo para procurar um alvo no fluxo de imagem. Não importa se o alvo está próximo (cerca de 10cm) ou distante, o algoritmo irá encontrar o alvo e travá-lo. Mas como podemos usá-lo? Vamos fazer um teste rápido. Usaremos um modo de foco contínuo para buscar o melhor foco possível em nosso alvo. Seria útil ter um objeto que você pudesse segurar na câmera, usamos uma nota de um dólar.

1.No menu principal, abra Programação >> Thonny.

2.Importar Picamera2.

3.Importe a classe de controles da libcamera.Com isso, podemos configurar a câmera para atender às nossas necessidades.

4.Crie um objeto, picam2que usaremos como um link entre o código e nossa câmera.

5.Inicie uma janela de visualização.A visualização é onde vemos a saída da câmera.

6.Defina o AfMode (modo de focagem automática) para ser contínuo.

7.Salve o código como AFtest.py.

8.Clique em Executar para iniciar o código. Uma janela de visualização aparecerá. Mova um objeto, escolhemos uma nota de um dólar, ao redor do quadro e observe como o foco muda. Tente mover o objeto para mais perto da lente, lembre-se que o ponto de foco mais próximo é de 10 centímetros.

Às vezes, um foco fixo é o que precisamos para obter aquela ótima foto. Afinal, não queremos capturar uma bagunça embaçada. Fixar o foco é relativamente simples; na verdade, é tão fácil que podemos reutilizar a maior parte do código do exemplo anterior.

1.Usar Salvar comono exemplo anterior to crie um novo arquivo chamado ManualFocusTest.py

2.Altere a última linha para usar LensPosition, neste caso, defina o valor como 0,0 para um foco infinito.

3.Execute o código.Observe como o foco é nítido para objetos distantes, mas de perto eles ficam desfocados.

4.Altere o valor LensPosition para 0,5.Isso nos dará aproximadamente uma distância focal de 50 cm.

5.Salve e execute o código. Mova um objeto na direção e para fora da câmera. Observe como o foco fica nítido em torno de 50 cm.

Seja uma câmera de pássaros, um dia de esportes na escola ou segurança doméstica, às vezes precisamos obter uma série de imagens nítidas. Felizmente, podemos configurar o Camera Module 3 para tirar uma série de imagens rápidas e definir o foco automático para alta velocidade.

1.Crie um novo arquivo chamado AfFastFocus.py

2.Importar Picamera2.

3.Importe a classe de controles da libcamera.Com isso, podemos configurar a câmera para atender às nossas necessidades.

4.Crie um objeto, picam2que usaremos como um link entre o código e nossa câmera.

5.Inicie uma janela de visualização.A visualização é onde vemos a saída da câmera.

6.Defina o modo de foco automático como Contínuo e defina o AfSpeed ​​como Rápido.

7.Defina a câmera para capturar três arquivos, com um atraso de meio segundo entre cada foto. O nome de arquivo "fastfocus.jpg" acrescentará 0, depois 1 e 2 a cada arquivo. Dando-nos três arquivos em ordem numérica.

> 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>
COMPARTILHAR