#1導入框架 import cv2#2讀取圖片 image=cv2.imread("E:/PY_Nxj/img/1.jpg") # 3.加載人臉模型 CascadeClassifier(級聯分類器) face_model=cv2.CascadeClassifier("E:/PY_Nxj/img/facemodel.xml") #4圖片進行灰度處理 gray=cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) #5檢查人臉 faces = face_model.detectMultiScale(gray) 6#標記人臉 for (x,y,w,h) in faces: cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),5) # 7顯示圖片 cv2.imshow("lal",image)
#8暫停窗口
cv2.waitKey(0)
#9銷毀窗口
cv2.destoryAllWindows()
讀取圖片,因為PS效果可以看到,當灰度降低時,人臉會顯現出來,所以利用人臉模型降低灰度從而找出人臉幾個邊緣點,從而確定出標記點,即舉行的左上角坐標和高度,然后繪制矩形並顯示出來,
waitKey(0)指的是一直終止,waitKey(5)就是終止5微秒的意思,
"""#1導入框架 import cv2 import os #2讀取圖片 image=cv2.imread("E:/pycharm_python/img/1.jpeg") # 3.加載人臉模型 CascadeClassifier(級聯分類器) face_model=cv2.CascadeClassifier("E:/pycharm_python/img/facemodel.xml") #4圖片進行灰度處理 gray=cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) #5檢查人臉 faces = face_model.detectMultiScale(gray) 6#標記人臉 for (x,y,w,h) in faces: cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),5) # 7顯示圖片 cv2.imshow("lal",image) cv2.waitKey(0) cv2.destoryAllWindows() """ #1導入框架 import cv2 #2加載人臉模型 face_model=cv2.CascadeClassifier("E:/pycharm_python/img/facemodel.xml") #3打開攝像頭 capture=cv2.VideoCapture(0) #4獲取攝像頭實時畫面 while True: #5讀取攝像頭當前這一幀的畫面 True或False ret, img = capture.read() #6灰度處理 gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) #7檢查人臉 faces = face_model.detectMultiScale(gray,1.1,3,0,(120,120)) #8標記人臉 for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 5) #9顯示圖片 cv2.imshow("My_按q退出",img) #10暫停窗口 if cv2.waitKey(5) &0xFF==ord('q'): break #11釋放資源 capture.release() #12銷毀窗口 cv2.destoryAllWindows()
需要注意的是
1安裝pip install opencv-python
2圖片和模型都需要安裝在根目錄下,簡單說就是Pycharm再建一個文件夾,放那里面,否則讀取不到
3模型在我的網盤中,也是別的老師給我的... 人臉識別!
網盤中的模型在open-cv的data文件夾下有