Site icon AranaCorp

Gerenciar uma câmera IP com Python

Quer seja para monitorar o seu apartamento ou o acompanhar o progresso de uma impressão 3D, pode ser útil utilizar uma câmara IP para ter as imagens disponíveis de qualquer lugar. Neste tutorial, utilizamos uma câmera IP cujas imagens serão obtidas via Python.

Este tutorial pode ser aplicado com um computador ou um Raspberry Pi.

Material

Configuração da câmera Wansview Q5

Siga o manual fornecido com a câmera e o software para conectá-la à rede WiFi e sincronizá-la com o software. Uma vez configurada a câmara, é possível obter informações como endereço IP e a ID no aplicativo ou no software.

O endereço IP e o endereço MAC encontram-se nas configurações da câmera, em “Informações do Dispositivo”.

No menu “Aplicativo local”, em “Conta local”, encontram-se o nome de usuário e a senha, e em “RTSP, encontra-se o fluxo RTSP”:

A URL do fluxo RTSP é desta forma:

rtsp://user:password@ipaddress:rtspPort

Esta última informação, que reúne todas as outras, permitirá acessar as imagens da câmera.

Obs: Note que, se a câmera for desligada, o endereço IP pode se alterar durante a reinicialização. Será necessário então modificar o endereço IP no seu código.

Não entraremos em detalhes sobre a configuração, porque é pouco provável que utilize a mesma câmera, e o manual fornecido costuma ser suficiente. Se tiver algum problema, não hesite em nos contar nos comentários.

Configuração da IP Camera Viewer 4

Geralmente, cada câmera vem com o seu próprio software e aplicativo de smartphone, com todas as funcionalidades necessárias. Por razões práticas, é possível que queira optar por outro software. Vamos mostrar como configurar uma câmera no IP Camera Viewer, que funciona com diversas marcas de câmeras IP.

A câmera está conectada à rede e podemos obter as imagens utilizando o software. Veremos agora como obter as imagens da câmera utilizando um script Python.

Código Python para ler o fluxo RTSP

Para obter as imagens, usaremos a biblioteca OpenCV, que permite criar algoritmos de processamento de imagem. Para acessar o fluxo RTSP, basta especificar a URL da câmera.

import cv2

def main(args):

	#cap = cv2.VideoCapture(0) #default camera
	cap = cv2.VideoCapture('rtsp://user:password@ipaddress:rtspPort') #IP Camera
	
	while(True):
		ret, frame = cap.read()
		frame=cv2.resize(frame, (960, 540)) 
		cv2.imshow('Capturing',frame)
		
		if cv2.waitKey(1) & 0xFF == ord('q'): #click q to stop capturing
			break

	cap.release()
	cv2.destroyAllWindows()
	return 0

if __name__ == '__main__':
    import sys
    sys.exit(main(sys.argv))

Uma vez lançado o script, será exibida uma janela com o vídeo proveniente do fluxo RTSP da câmera IP. Para fechá-la, aperte a tecla “q”.

Uma vez que tenha acesso às imagens da câmera, pode fazer processamento de imagem para reconhecer objetos, detectar movimento, etc.

Exemplo de aplicação

Reconhecimento e rastreio de cores para um projeto futuro

Aplicações

Fontes

Exit mobile version