Blog

Postado em em 14 de agosto de 2021

Controlar Webcam com Python – Usando a Biblioteca OpenCV

Nessa aula eu vou te mostrar como você pode controlar sua webcam com Python e até tirar prints utilizando a biblioteca Opencv!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber a planilha que usamos na aula no seu e-mail, preencha:

Resumo

Nessa aula eu vou te mostrar como você pode acessar/controlar a webcam no Python com ajuda da biblioteca opencv.

A aula é bem tranquila então mesmo que você ainda não tenha muita noção de Python ou de programação em geral vai conseguir reproduzir no seu computador!

Como Controlar Webcam com Python

Você já deve ter pensado em como controlar webcam no Python alguma vez, e hoje eu vou te mostrar como você vai poder fazer utilizando a biblioteca opencv!

Vamos fazer uma breve introdução ao opencv no Python, pois precisamos dessa biblioteca para fazer o código funcionar!

Quer saber como utilizar o opencv para controlar a webcam? Então bora pra aula!

Controlar Webcam com Python

Antes de começarmos com a programação é importante lembrar que para essa aula nós vamos utilizar o PyCharm, então se você ainda não tem ele instalado no seu computador basta clicar aqui que temos um post com o passo a passo de instalação!

O outro ponto é instalar a biblioteca opencv Python, então para isso basta você escrever pip install opencv-python.

OBS: Nessa instalação do opencv é importante não esquecer do -python, pois essa biblioteca existe para várias linguagens.

Se você ainda não tiver a biblioteca numpy também é importante que instale, então pode escrever pip install numpy.

Agora vamos ao código para que você utilize ou até mesmo guarde o código para quando precisar utilizar em outra ocasião!

import cv2

webcam = cv2.VideoCapture(0)

if webcam.isOpened():
    validacao, frame = webcam.read()
    while validacao:
        validacao, frame = webcam.read()
        cv2.imshow("Video da Webcam", frame)
        key = cv2.waitKey(5)
        if key == 27: # ESC
            break
    cv2.imwrite("FotoLira.png", frame)

webcam.release()
cv2.destroyAllWindows()

Como eu tinha informado, o código é bem pequeno e simples.

Inicialmente nós vamos importar a biblioteca do opencv, logo abaixo temos o código para conectar a webcam no opencv.

Em seguida temos uma função If para verificar se a conexão foi feita de forma correta, então se esse comando webcam.isOpened for verdadeiro quer dizer que está tudo certo e o código vai continuar.

Entrando no If nós vamos obter a leitura da webcam, que vai retornar duas informações. A primeira é a validação que é para verificar se a biblioteca conseguiu ler o que estava na webcam.

A segunda informação é o frame, ou seja, uma foto da webcam, pois um vídeo nada mais é do que uma sequência de imagens, então vamos pegar uma foto!

Com isso pronto, nós vamos entrar em uma estrutura de repetição para criar um loop infinito para que você possa ficar visualizando o que a sua webcam está “vendo”.

Então nós vamos mostrar esses frames e vamos aguardar 5 milissegundos para que você consiga visualizar o que de fato está sendo mostrado.

Se não colocar esse tempo de espera é possível que você não consiga visualizar nada, pois o tempo de processamento vai ser muito rápido e não vai conseguir ver nenhuma imagem.

Por fim nós temos uma função If só para habilitar a tecla ESC do seu computador para parar o código, pois se você clicar no botão de fechar ele não será fechado, pois está em um loop infinito, então vai sempre abrir a visualização da webcam.

No final do código, depois do break para parar o código e fechar a janela da webcam nós temos uma opção que é para tirar um “print” do que está na webcam, então vamos guardar o frame no arquivo FotoLira.png.

Isso quer dizer que ao fechar o código com ESC você vai ver na pasta onde tem esse código um arquivo no formato de imagem com o print da webcam.

Visualização da Webcam
Visualização da Webcam

Aqui temos o código rodando, então você vai conseguir ver o vídeo da sua webcam em tempo real (claro que com um pouco de atraso).

E ao utilizar o ESC para fechar o programa já terá o print do último frame da webcam!

Foto gravada ao parar a execução do código
Foto gravada ao parar a execução do código

Essa é a foto do Lira fazendo careta no último frame que é quando fechamos o programa!

Agora você já tem um código em Python opencv para poder visualizar o conteúdo da sua webcam em tempo real e até mesmo obter um print gravado em um formato de imagem.

Conclusão

Nessa aula eu te mostrei como você pode controlar a sua webcam utilizando a biblioteca opencv do Python!

Então agora você já sabe fazer esse controle e já tem um código que pode utilizar sempre que precisar utilizar o código dentro de outro que estiver fazendo que precise visualizar ou pegar um print da sua webcam!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador