python работа с изображениями
Подскажите пожалуйста. Нашел в интернете поиск лиц по фото Решил дописать чтобы можно было обработать много фото сразу
import cv2
from glob import glob
for filename in glob('*.jpg'):
image = cv2.imread(filename)
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier(r'C:/haarcascade_fontalface_default.xml')
faces = face_cascade.detectMultiScale(image_gray)
print(f"{len(faces)} лиц обнаружено на изображении.")
Выдает ошибку
C:\>py img.py
Traceback (most recent call last):
File "img.py", line 9, in <module>
faces = face_cascade.detectMultiScale(image_gray)
cv2.error: OpenCV(4.5.3) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-uzca7qz1\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
Только начал изучение
Ответы (2 шт):
Автор решения: Day
→ Ссылка
В этой строчке кода:
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.COLOR_BGR2GRAY - вы 2 раза вызываете color возможно здесь иошибка.
Автор решения: S. Nick
→ Ссылка
У вас пропцщена буква 'r'
import cv2
from glob import glob
# установите свой путь vvvvvvvvvvvvvvvvvvvvvvv
for filename in glob('D:/_Qt/__Qt/images/*.jpg'):
image = cv2.imread(filename)
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
#face_cascade = cv2.CascadeClassifier(r'C:/haarcascade_fontalface_default.xml')
# у вас пропцщена буква 'r' ------------------------------> v
face_cascade = cv2.CascadeClassifier( #-----> v
'opencv_videos/Face_Frame_Rate_plot/haarcascade_frontalface_default.xml')
# установите свой путь ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
faces = face_cascade.detectMultiScale(image_gray)
print(f"{len(faces)} лиц обнаружено на изображении {filename}.")
