亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

使用python-cv2實現Harr+Adaboost人臉識別的示例

瀏覽:6日期:2022-07-07 09:35:19

Haar特征

哈爾特征使用檢測窗口中指定位置的相鄰矩形,計算每一個矩形的像素和并取其差值。然后用這些差值來對圖像的子區域進行分類。

haar特征模板有以下幾種:

使用python-cv2實現Harr+Adaboost人臉識別的示例

以第一個haar特征模板為例

使用python-cv2實現Harr+Adaboost人臉識別的示例

計算方式

1.特征 = 白色 - 黑色(用白色區域的像素之和減去黑色區域的象征之和)

2.特征 = 整個區域 * 權重 + 黑色 * 權重

使用haar模板處理圖像

從圖像的起點開始,利用haar模板從左往右遍歷,從上往下遍歷,并設置步長,同時考慮圖像大小和模板大小的信息

假如我們現在有一個 1080 * 720 大小的圖像,10*10 的haar模板,并且步長為2,那么我我們所需要的的計算量為: (1080 / 2 * 720 / 2) * 100 * 模板數量 * 縮放 約等于50-100億,計算量太大。

積分圖

使用積分圖可大量減少運算時間,實際上就是運用了前綴和的原理

使用python-cv2實現Harr+Adaboost人臉識別的示例

Adaboost分類器

Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。

算法流程

該算法其實是一個簡單的弱分類算法提升過程,這個過程通過不斷的訓練,可以提高對數據的分類能力。整個過程如下所示:

1. 先通過對N個訓練樣本的學習得到第一個弱分類器;2. 將分錯的樣本和其他的新數據一起構成一個新的N個的訓練樣本,通過對這個樣本的學習得到第二個弱分類器 ;3. 將1和2都分錯了的樣本加上其他的新樣本構成另一個新的N個的訓練樣本,通過對這個樣本的學習得到第三個弱分類器;4. 最終經過提升的強分類器。即某個數據被分為哪一類要由各分類器權值決定。

我們需要從官網下載倆個Adaboost分類器文件,分別是人臉和眼睛的分類器:下載地址:https://github.com/opencv/opencv/tree/master/data/haarcascades

使用python-cv2實現Harr+Adaboost人臉識別的示例

使用python-cv2實現Harr+Adaboost人臉識別的示例

代碼實現

實現人臉識別的基本步驟:

1.加載文件和圖片 2.進行灰度處理 3.得到haar特征 4.檢測人臉 5.進行標記

我們使用cv2.CascadeClassifier()來加載我們下載好的分類器。

然后我們使用detectMultiScale()方法來得到識別結果

import cv2import numpy as npimport matplotlib.pyplot as plt# 1.加載文件和圖片 2.進行灰度處理 3.得到haar特征 4.檢測人臉 5.標記face_xml = cv2.CascadeClassifier(’haarcascade_frontalface_default.xml’)eye_xml = cv2.CascadeClassifier(’haarcascade_eye.xml’)img = cv2.imread(’img.png’)cv2.imshow(’img’, img)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 1.灰色圖像 2.縮放系數 3.目標大小faces = face_xml.detectMultiScale(gray, 1.3, 5)print(’face = ’,len(faces))print(faces)#繪制人臉,為人臉畫方框for (x,y,w,h) in faces: cv2.rectangle(img, (x,y), (x + w, y + h), (255,0,0), 2) roi_face = gray[y:y+h,x:x+w] roi_color = img[y:y+h,x:x+w] eyes = eye_xml.detectMultiScale(roi_face) print(’eyes = ’,len(eyes)) for (ex,ey,ew,eh) in eyes: cv2.rectangle(roi_color, (ex,ey),(ex + ew, ey + eh), (0,255,0), 2)cv2.imshow(’dat’, img)cv2.waitKey(0)

face = 1[[133 82 94 94]]eyes = 2

使用python-cv2實現Harr+Adaboost人臉識別的示例

使用python-cv2實現Harr+Adaboost人臉識別的示例

到此這篇關于使用python-cv2實現Harr+Adaboost人臉識別的示例的文章就介紹到這了,更多相關python cv2 人臉識別內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产一久久香蕉国产线看观看 | heyzo北条麻妃在线播放 | 久久99亚洲精品一区二区 | 国外成人免费高清激情视频 | 国产高清在线视频伊甸园 | 成人久久18免费网址 | 午夜精品福利在线 | 99久在线| 国产一区二区视频在线播放 | 精品国产区一区二区三区在线观看 | 在线观看国产小屁孩cao大人 | 欧美一区二区三区在观看 | 免费黄色小视频在线观看 | 黄色一级一级片 | 亚洲美色综合天天久久综合精品 | 久久香蕉国产线看观看精品蕉 | 成年免费大片黄在线观看岛国 | 欧美大片全黄在线观看 | 久久一本久综合久久爱 | 成人网mm视频在线观看 | 国产羞羞的视频在线观看免费 | 噜噜噜噜精品视频在线观看 | 国产精品青草久久 | 欧美另类综合 | 亚洲第一在线 | 精品国产电影网久久久久婷婷 | 精品一区二区三区水蜜桃 | 一级韩国aa毛片免费观看 | 日韩不卡高清视频 | 欧美一级做一级做片性十三 | 免费视频一区二区性色 | 91精彩视频在线观看 | 国产一区二区三区美女图片 | 成年美女黄的视频网站 | 中文字幕在线视频播放 | 国产精品爱久久久久久久电影 | 国产在线一区二区杨幂 | 国产真实伦偷精品 | 国产2| 亚洲综合17p | 国产精品v免费视频 |