[OpenCV4.5.0] 顔検知 + モザイク

顔を検知し、モザイク処理を施す

import cv2
from mosaic import mosaic as mosaic

cascade_file = "haarcascades/haarcascade_frontalface_alt.xml"
cascade = cv2.CascadeClassifier(cascade_file)

img = cv2.imread("1.jpg")
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

face_list = cascade.detectMultiScale(img_gray, minSize=(50,50))

if len(face_list) == 0:
	print("false")
	quit()

for (x,y,w,h) in face_list:
	img = mosaic(img, (x, y, x+w, y+h), 10)

cv2.imwrite("mosaic.png", img)

before

after

OK
後はユースケース特化型、画像のデータセットを学習させて検知する方法をマスターしたい。
まー、課題です。