opencv+python3.4的人臉識別----2017-7-19


opencv3.1  +  python3.4

第一回合(抄代碼,可實現):人臉識別涉及一個級聯表,目前能力還無法理解。

流程:1.讀取圖像---2.轉換為灰度圖---3.創建級聯表---4.對灰度圖使用級聯表方法過濾---5.迭代得到的結果依次標記出來---6.保存圖像

完整代碼:

import cv2
#讀取圖片
img = cv2.imread('5.jpg')
#轉化為灰度圖
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#特征級聯表
face_cascade = cv2.CascadeClassifier(r'haarcascade_frontalface_default.xml')
# print(type(face_cascade))    #<class 'cv2.CascadeClassifier'>
#多尺寸檢測,返回列表  # print(face)     #[[1947 2275  374  374]....
face = face_cascade.detectMultiScale(
    gray,1.3,5
)
print('發現{0}個臉'.format(len(face)))
for (x,y,w,h) in face:
    #(圖像對象,圓心,半徑,顏色,封閉?)
    cv2.circle(img,((x+x+w)//2,(y+y+h)//2),w//2,(0,255,0),-1)
#保存圖像
cv2.imwrite('14Peoele.jpg',img)
#顯示圖像
cv2.imshow('gray',img)
#防止閃屏
cv2.waitKey(0)

注意:1.python3中除法的整數用“//”

    2.識別跟圖像像素有關,像素大,識別度高。

結果:

低像素:

高像素:

 


免責聲明!

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



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