代码
import cv2 as cv
"""
人脸检测:
"""
def face_find(image):
gray = cv.cvtColor(image,cv.COLOR_BGR2RGB)
face_detsctor = cv.CascadeClassifier(r"D:\pythonItems\opencv1\venv\Lib\site-packages\cv2\data\haarcascade_frontalface_alt_tree.xml")
faces = face_detsctor.detectMultiScale(gray)
for x,y,w,h in faces:
cv.rectangle(image,(x,y),(x+w,y+h),(0,0,255),5)
cv.imshow("output_faces",image)
"""
图片:
"""
def image(image_path):
image = cv.imread(image_path,cv.IMREAD_REDUCED_COLOR_2)
cv.namedWindow("input",cv.WINDOW_AUTOSIZE)
cv.imshow("input",image)
face_find(image)
cv.waitKey(0)
cv.destroyAllWindows()
"""
视屏
"""
def video(video_path):
name = cv.VideoCapture(video_path)
while True:
ret, frame = name.read()
if ret == False:
break
face_find(frame)
# cv.imshow("video", frame)
c = cv.waitKey(1)
if c == 27:
break
if __name__ == "__main__":
image_path = "./she2.jpg"
video_path = "./dance_video.mp4"
# 图片
image(image_path)
# 视屏
video(video_path)
结果
图片检测