git:https://github.com/linyi0604/Computer-Vision
1 # coding:utf-8
2
3 import cv2 4
5 filename = "../data/mm3.jpg"
6
7
8 def detect(filename): 9 # 創建檢測人臉的對象 要在opencv的目錄下找到xml文件,放置到自己項目中
10 face_cascade = cv2.CascadeClassifier("../data/haarcascade_frontalface_default.xml") 11 # 讀取圖像
12 img = cv2.imread(filename) 13 # 轉為灰度圖像
14 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 15 # 進行人臉檢測
16 faces = face_cascade.detectMultiScale(gray, 1.3, 5) 17 """
18 faces = face_cascade.detectMultiScale(img, scaleFactor, minNeighbors) 19 參數: 20 img: 識別的原圖 21 scaleFactor: 迭代時圖像的壓縮率 22 minNeighbors: 每個人臉矩形保留近鄰數目的最小值 23
24 返回值: 25 一個列表,列表里邊每一項是一個框起人臉的矩形(x, y, w, h) 26
27 """
28 print(faces) 29 for (x, y, w, h) in faces: 30 # 畫出矩形框
31 img = cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2) 32
33 cv2.imshow("Vikings Detected", img) 34 cv2.waitKey() 35
36
37 detect(filename)