Я работаю над «проектом» с использованием opencv (python).Теперь я хочу создать прозрачный слой для изображения, который имеет тот же размер, что и изображение, но я не знаю как.
Моя цель - обнаружить лица на исходном изображении, смазать их и сохранитьих на одном слое.После этого я хочу обнаружить все профили лица, размытие и снова сохранить их на одном слое ... и так далее.В конце я хочу наложить изображения друг на друга и сделать размытые части сверху, не покрывая остальную часть исходного изображения, так как слои должны быть прозрачными.
Я уже пробовал просто использовать копиюоригинал, но этот способ заставляет меня обнаруживать все профили лица на уже частично размытом изображении (как я размыл лица раньше)
# 1 --> taking the original image and copying it
raw_image = cv2.imread("./fotos/meeting.jpg")
face_result_image = raw_image.copy()
# 2 --> here detecting and blurring the faces
# 3 --> writing new blurred-faces-image:
cv2.imwrite("./face_result.png", face_result_image)
# 4 --> starting the same for faceprofiles using the result of the face-blurring:
profile_face_result_image = face_result_image.copy()
5 --> here detecting and blurring the profiles of faces
# 6 --> writing new blurred-faces-image:
cv2.imwrite("./faceprofile_result.png", profile_face_result_image)
Поскольку точка 2 находится в цикле for, я не могуиспользуйте обнаруженные / размытые части вне цикла, поэтому я должен положить их поверх изображения в цикле.Наличие прозрачного слоя размером с оригинал решило бы мою проблему, так как я мог бы поместить их на один слой и просто сложить слои поверх другого и получить окончательное изображение, где все, что было обнаружено в x-количестве циклов (= x-слой) размыто.