31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import cv2
|
|
|
|
# Inicializa o vídeo a partir da webcam (ou outro dispositivo de captura)
|
|
cap = cv2.VideoCapture(0)
|
|
|
|
while True:
|
|
# Captura o frame da câmera
|
|
ret, frame = cap.read()
|
|
|
|
# Conversão para escala de cinza para facilitar a detecção
|
|
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
|
|
|
|
# Utiliza um classificador de Haar Cascade para detectar objetos (neste caso, rostos)
|
|
# Você pode treinar seu próprio classificador para detectar quadrados
|
|
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
|
|
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5)
|
|
|
|
# Desenha retângulos nos rostos detectados
|
|
for (x, y, w, h) in faces:
|
|
cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)
|
|
|
|
# Mostra o frame com os retângulos
|
|
cv2.imshow('Detecção de Objetos', frame)
|
|
|
|
# Verifica se o usuário pressionou a tecla 'q' para sair do loop
|
|
if cv2.waitKey(1) & 0xFF == ord('q'):
|
|
break
|
|
|
|
# Libera a captura de vídeo e fecha as janelas
|
|
cap.release()
|
|
cv2.destroyAllWindows() |