import cv2 # 讀取圖片 img = cv2.imread("image.jpg") # 加載模型,模型可以從https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml下載 classifier = cv2.CascadeClassifier("haarcascade_frontalface_default.xml") # 人臉檢測 # scaleFactor:兩次相鄰的檢測中,搜索窗口擴大的比例系數 # minNeighbors:表示構成檢測目標的相鄰矩形的最小個數,默認為3,即相鄰的檢測中,至少有三次檢測判斷為真,才算真的目標 # minSize:檢測目標的最小尺寸 faces = classifier.detectMultiScale(img, scaleFactor=1.1, minNeighbors=3, minSize=(32, 32)) for face in faces: x, y, w, h = face # 繪制邊框 cv2.rectangle(img, (x, y), (x + h, y + w), (0, 255, 0), 2) if len(faces) > 0: cv2.imshow("image", img) cv2.waitKey(0) cv2.destroyAllWindows()