人臉識別功能的實作,
1,下載 “haarcascade_frontalface_default.xml” ,
這個xml檔案是opencv在github共享出來普適的人臉特征分類器檔案,還有很多用于其他檢測特征(如微笑檢測,上半身檢測)的分類器,
分類器下載鏈接:https://github.com/opencv/opencv/tree/master/data/haarcascades
找到"haarcascade_frontalface_default.xml",單擊,

右擊raw按鈕,選擇從鏈接另存檔案為,后選擇自己要保存的路徑,
2.撰寫代碼
import cv2
name=input("輸入圖片檔案:")
def detect(filename):
face_cascade = cv2.CascadeClassifier("data/haarcascade_frontalface_default.xml")
img = cv2.imread(filename)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#傳遞引數是scaleFactor和minNeighbors,分別表示人臉檢測程序中每次迭代時影像的壓縮率以及每個人臉矩形保留近鄰數目的最小值
#檢測結果回傳人臉矩形陣列
face = face_cascade.detectMultiScale(gray)
for (x, y, w, h) in face:
img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
cv2.namedWindow("Face Detected!")
cv2.imshow("Face Detected!", img)
cv2.imwrite("images/Face.jpg", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
detect(name)
特別注意,新手最好使用絕對路徑,如:
face_cascade = cv2.CascadeClassifier("G:/python/face/haarcascade_frontalface_default.xml")
效果圖如下:
盡力把我躺過的坑填平了,按我的步驟應該不會有問題了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/159583.html
標籤:其他
上一篇:TensorBoard可視化
下一篇:教你如何追求女神
