Eu segui a ideia do script em aula e ficou assim:
import cv2
import matplotlib.pyplot as plt
imagem = cv2.imread("px-people.jpg")
imagem = cv2.cvtColor(imagem, cv2.COLOR_BGR2RGB)
imagem_gray = cv2.cvtColor(imagem, cv2.COLOR_RGB2GRAY)
classificador = cv2.CascadeClassifier(
"classificadores/haarcascade_frontalface_default.xml"
)
faces = classificador.detectMultiScale(imagem_gray, 1.3, 5)
imagem_anotada = imagem.copy()
for (x, y, w, h) in faces:
cv2.rectangle(imagem_anotada, (x, y), (x + w, y + h), (255, 255, 0), 2)
plt.imshow(imagem_anotada)
plt.show()
Mas na hora que rodo, aparece o erro:
cv2.error: OpenCV(4.5.4-dev) /tmp/pip-req-build-v2fnlv3a/opencv/modules/core/src/persistence.cpp:682: error: (-5:Bad argument) Input file is invalid in function 'open'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "training.py", line 11, in <module>
"classificadores/haarcascade_frontalface_default.xml"
SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set
O que poderia ser?
Obrigado