opencv+python3.4的人臉識別----2017-7-19
阿新 • • 發佈:2017-07-20
pri 除法 mage idt .com aar 特征 ges 讀取
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.識別跟圖像像素有關,像素大,識別度高。
結果:
低像素:
高像素:
opencv+python3.4的人臉識別----2017-7-19