python之OpenCv(四)---Face Service

來源:互聯網
上載者:User

標籤:變數   des   scale   sea   映像   ges   min   參數   ace   

對特定映像進行識別,最關鍵的是要有識別對象的特徵檔案。OpenCV已經內建了Face Service特徵檔案,我們只要使用OpenCV的CascadeClassifier類即可進行識別。

文法:

https://github.com/opencv/opencv.git  在這裡可以下載特徵檔案,在data目錄下

識別物件變數 = cv2.CascadeClassifier(特徵檔案)、、

 

識別對象

識別結果變數 = 識別物件變數.detectMultiScale(圖片,參數1,參數2,。。。)

參數有:

  1、scaleFactor:  其原理是系統會以不同的區塊大小對圖片進行掃描,在進行特徵對比。此參數使用者佈建區塊的改變倍數,如無特別需求,一般設定為1.1

  2、minNeighbors  此為控制誤檢率參數,預設值為3

  3、minSize  設定最小的識別區塊

  4、maxSize  設定最大的識別區塊

  5、flags  此參數設定檢測模式,可取值如下:

      cv2.CV_HAAR_SCALE_IMAGE   按比例檢測

      cv2.CV_HAAR_DO_CANNY_PRUNING  利用Canny 邊緣檢測器排除一些邊緣很少或很多的映像地區

      cv2.CV_HAAR_FIND_BIGGEST_OBJECT   只檢測最大物體

      cv2.CV_HAAR_DO_ROUGH_SEARCH  只做初步檢測

face = faceCascade.detectMultiScale(image,scakeFactor=1.1,minSize=(10,10),minNeighbors=5,flags = cv2.CASCADE_SCALE_IMAGE)

 

detectMultiScale 方法可以識別多個面部,傳回值是一個列表

for (x,y,w,h) in face:

x,y 表示面部地區的左上方x,y座標;w,h表示面部地區的寬度和高度

import cv2#基本繪圖# import numpy#cv2.namedWindow("Image") #建立視窗#img = cv2.imread(‘20180703200225.jpg‘) #讀取映像#Face Service#img.shape[0] 擷取圖片的高度  img.shape[1] 擷取圖片的寬度faceCascade = cv2.CascadeClassifier(r‘./haarcascade_frontalface_default.xml‘)faces = faceCascade.detectMultiScale(img,scaleFactor = 1.1,minNeighbors = 5,minSize = (10,10),flags = cv2.CASCADE_SCALE_IMAGE)cv2.putText(img,"Find"+str(len(faces))+"faces",(10,img.shape[0]-5),cv2.FONT_HERSHEY_SIMPLEX,1,(255,232,133),2)for (x,y,w,h) in faces:    cv2.rectangle(img,(x,y),(x+w,y+h),(128,255,0),2)    print(x,y,w,h)#cv2.imshow(‘Image‘,img)cv2.imwrite(‘test.jpg‘,img)cv2.waitKey(0)cv2.destroyAllWindow()

  

python之OpenCv(四)---Face Service

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.