Python實現人臉識別


識別圖片

#coding=utf-8
import requests,cv2
import re
import os
import bs4

#2.讀取圖片
filename = 'E:/Python/Crawler/faces/face7.jpg'
image = cv2.imread(filename)

#3.加載人臉模型 級聯分類器
face_moel = cv2.CascadeClassifier('E:/Python/Crawler/faces/facemodel.xml')

#4.對圖片進行灰度處理
gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)

#5.檢查人臉
faces = face_moel.detectMultiScale(gray)

#6.標記人臉(橢圓形、三角形、矩形)
for (x,y,w,h) in faces:
    #1.原始圖片 2.左上角坐標 3.右下角坐標 4.顏色值 5.線寬
    cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2)

#7.顯示圖片
cv2.imshow('Jim',image)

#8.暫停窗口
cv2.waitKey(0)

#9.銷毀窗口
cv2.destroyAllWindows()

其中模型文件為: 人臉模型facemodel.xml

 攝像頭實時識別

#coding=utf-8
import requests,cv2
import re,time
import os
import bs4

#打開攝像頭
capture = cv2.VideoCapture(0)

print(type(capture))
print(capture.read())

#導入模型
#face_moel = cv2.CascadeClassifier('')
face_moel = cv2.CascadeClassifier('E:/Python/Crawler/faces/facemodel.xml')

c = 0
#獲取攝像頭的實時畫面
while True:
    #5.讀取當前攝像頭一幀的畫面 true false
    ret,image = capture.read()

    #6.圖片灰度處理
    gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)

    #7.人臉檢測
    faces = face_moel.detectMultiScale(gray,1.1,3,0,(100,100))

    #8.標記人臉
    for (x, y, w, h) in faces:
        # 1.原始圖片 2.左上角坐標 3.右下角坐標 4.顏色值 5.線寬
        cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 5)
        #9.顯示圖片
        cv2.imshow('image',image)
        #暫停窗口
        if cv2.waitKey(5) & 0xFF == ord('q'):
            break
    #time.sleep(5)


# 11.釋放資源
capture.release()

#12.銷毀窗口
cv2.destroyAllWindows()

其中模型文件為: 人臉模型facemodel.xml


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM