中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Python中利用OpenCV和Adaboost實現人臉識別功能

發布時間:2021-06-01 17:38:37 來源:億速云 閱讀:123 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關怎么在Python中利用OpenCV和Adaboost實現人臉識別功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

首先講講需要用到的新函數:

CascadeClassifier()函數,導入分類器

cv2.CascadeClassifier('xxxxx.xml')
#haarcascade_frontalface_alt.xml臉部識別文件
#haarcascade_eye.xml眼部識別文件

函數的參數是xml完整路徑(具體看你的opencv安裝在哪里的,在opencv\sources\data\haarcascades下面),xml文件中是封裝好的算法

detectMultiScale()函數,進行識別

detectMultiScale(image,scaleFactor,minNeighbors,flags,minSize,maxSize)
  • 最終返回值為識別出的矩陣框[x, y, w, h],(x,y)左上角起始坐標,w寬,h高

  • image:用于檢測的圖像

  • scaleFactor:前后兩次相繼的掃描中,搜索窗口的比例系數.例如1.1指將搜索窗口依次擴大10%。圖片小的時候,比例系數盡量小能提高準確率

  • minNeighbors:構成檢測目標的相鄰矩形的最小個數。一般使用2or3,為0時返回所有的被檢候選矩形框。

rectangle()函數,在圖片上畫矩陣

cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2)
  • image是原始圖片

  • (x,y)是矩形左上角

  • (x+w,y+h)是矩形右下角

  • (0,255,0)是矩形的BGR顏色, 為紅色

  • 2, 是繪制矩形的線寬

程序邏輯:

導入Haar級聯分類器算法,讀入要處理圖片,將圖片變成時候的大小,用detectMultiScale()函數先識別出人臉,在原圖上框出,然后提取出識別出的人臉矩形框,在人臉矩形框內識別出眼睛,在原圖上框出,展示出識別完的圖像。

完整程序及注解:

import cv2
face_cascade = cv2.CascadeClassifier('D:\opencv\sources\data\haarcascades/haarcascade_frontalface_alt.xml')
eye_cascade = cv2.CascadeClassifier('D:\opencv\sources\data\haarcascades/haarcascade_eye.xml')
img1 = cv2.imread('face1.png')
img = cv2.resize(img1,(240,320),interpolation=cv2.INTER_LINEAR)
faces = face_cascade.detectMultiScale(img,1.2,2)
for (x,y,w,h) in faces:
  cv2.rectangle(img,(x,y),(x+w,x+h),(255,0,0),2)#用顏色為BGR(255,0,0)粗度為2的線條在img畫出識別出的矩型
  face_re = img[y:y+h,x:x+w]#抽取出框出的臉部部分,注意順序y在前
  eyes = eye_cascade.detectMultiScale(face_re)#在框出的臉部部分識別眼睛
  for (ex,ey,ew,eh) in eyes:
    cv2.rectangle(face_re,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
cv2.imshow('img',img)
key = cv2.waitKey(0)
if key==27:
  cv2.destoryWindow('img')

上述就是小編為大家分享的怎么在Python中利用OpenCV和Adaboost實現人臉識別功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彝良县| 长乐市| 托里县| 遵义市| 宿松县| 肇东市| 枣庄市| 海口市| 腾冲县| 临沭县| 当阳市| 铜陵市| 九龙城区| 富宁县| 西吉县| 隆子县| 济阳县| 黔西县| 宝坻区| 定远县| 闽侯县| 隆德县| 出国| 和林格尔县| 石柱| 尼木县| 阿巴嘎旗| 黑河市| 南陵县| 隆安县| 东乌| 临漳县| 合江县| 横峰县| 龙南县| 依兰县| 榆中县| 元阳县| 泰来县| 平原县| 色达县|