python opencv3 靜態圖片檢測人臉
阿新 • • 發佈:2018-08-04
utf port spa 創建 imp front factor ssi pen
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)
python opencv3 靜態圖片檢測人臉