亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用python-cv2實(shí)現(xiàn)Harr+Adaboost人臉識(shí)別的示例

 更新時(shí)間:2020年10月27日 08:36:18   作者:逐夢(mèng)er  
這篇文章主要介紹了使用python-cv2實(shí)現(xiàn)Harr+Adaboost人臉識(shí)別的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Haar特征

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

haar特征模板有以下幾種:

在這里插入圖片描述

以第一個(gè)haar特征模板為例

在這里插入圖片描述

計(jì)算方式

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

2.特征 = 整個(gè)區(qū)域 * 權(quán)重 + 黑色 * 權(quán)重

使用haar模板處理圖像

從圖像的起點(diǎn)開始,利用haar模板從左往右遍歷,從上往下遍歷,并設(shè)置步長(zhǎng),同時(shí)考慮圖像大小和模板大小的信息

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

積分圖

使用積分圖可大量減少運(yùn)算時(shí)間,實(shí)際上就是運(yùn)用了前綴和的原理

在這里插入圖片描述

Adaboost分類器

Adaboost是一種迭代算法,其核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個(gè)更強(qiáng)的最終分類器(強(qiáng)分類器)。

算法流程

該算法其實(shí)是一個(gè)簡(jiǎn)單的弱分類算法提升過程,這個(gè)過程通過不斷的訓(xùn)練,可以提高對(duì)數(shù)據(jù)的分類能力。整個(gè)過程如下所示:

1. 先通過對(duì)N個(gè)訓(xùn)練樣本的學(xué)習(xí)得到第一個(gè)弱分類器;
2. 將分錯(cuò)的樣本和其他的新數(shù)據(jù)一起構(gòu)成一個(gè)新的N個(gè)的訓(xùn)練樣本,通過對(duì)這個(gè)樣本的學(xué)習(xí)得到第二個(gè)弱分類器 ;
3. 將1和2都分錯(cuò)了的樣本加上其他的新樣本構(gòu)成另一個(gè)新的N個(gè)的訓(xùn)練樣本,通過對(duì)這個(gè)樣本的學(xué)習(xí)得到第三個(gè)弱分類器;
4. 最終經(jīng)過提升的強(qiáng)分類器。即某個(gè)數(shù)據(jù)被分為哪一類要由各分類器權(quán)值決定。

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

在這里插入圖片描述

在這里插入圖片描述

代碼實(shí)現(xiàn)

實(shí)現(xiàn)人臉識(shí)別的基本步驟:

1.加載文件和圖片
2.進(jìn)行灰度處理
3.得到haar特征
4.檢測(cè)人臉
5.進(jìn)行標(biāo)記

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

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

import cv2
import numpy as np
import matplotlib.pyplot as plt
# 1.加載文件和圖片 2.進(jìn)行灰度處理 3.得到haar特征 4.檢測(cè)人臉 5.標(biāo)記

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.縮放系數(shù) 3.目標(biāo)大小
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

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于使用python-cv2實(shí)現(xiàn)Harr+Adaboost人臉識(shí)別的示例的文章就介紹到這了,更多相關(guān)python cv2 人臉識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pandas如何獲取某個(gè)數(shù)據(jù)的行號(hào)

    pandas如何獲取某個(gè)數(shù)據(jù)的行號(hào)

    這篇文章主要介紹了pandas如何獲取某個(gè)數(shù)據(jù)的行號(hào)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 利用Python實(shí)現(xiàn)劉謙春晚魔術(shù)

    利用Python實(shí)現(xiàn)劉謙春晚魔術(shù)

    劉謙在2024年春晚上的撕牌魔術(shù)的數(shù)學(xué)原理非常簡(jiǎn)單,可以用Python完美復(fù)現(xiàn),文中通過代碼示例給大家介紹的非常詳細(xì),感興趣的同學(xué)可以自己動(dòng)手嘗試一下
    2024-02-02
  • python下os模塊強(qiáng)大的重命名方法renames詳解

    python下os模塊強(qiáng)大的重命名方法renames詳解

    這篇文章主要介紹了python下os模塊強(qiáng)大的重命名方法renames詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • python用opencv完成圖像分割并進(jìn)行目標(biāo)物的提取

    python用opencv完成圖像分割并進(jìn)行目標(biāo)物的提取

    這篇文章主要介紹了python用opencv完成圖像分割并進(jìn)行目標(biāo)物的提取,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • tensorflow多維張量計(jì)算實(shí)例

    tensorflow多維張量計(jì)算實(shí)例

    今天小編就為大家分享一篇tensorflow多維張量計(jì)算實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • MySQL最常見的操作語句小結(jié)

    MySQL最常見的操作語句小結(jié)

    這篇文章主要介紹了MySQL最常見的操作語句小結(jié),與表和庫相關(guān)的這些語句是學(xué)習(xí)MySQL中最基礎(chǔ)的知識(shí),需要的朋友可以參考下
    2015-05-05
  • python海龜繪圖實(shí)例教程

    python海龜繪圖實(shí)例教程

    這篇文章主要介紹了python海龜繪圖實(shí)例教程,需要的朋友可以參考下
    2014-07-07
  • Python新手入門之常用關(guān)鍵字的簡(jiǎn)單示例詳解

    Python新手入門之常用關(guān)鍵字的簡(jiǎn)單示例詳解

    關(guān)鍵字是預(yù)先保留的標(biāo)識(shí)符,每個(gè)關(guān)鍵字都有特殊的含義,下面這篇文章主要給大家介紹了關(guān)于Python新手入門之常用關(guān)鍵字的簡(jiǎn)單示例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Python的subprocess模塊總結(jié)

    Python的subprocess模塊總結(jié)

    這篇文章主要介紹了Python的subprocess模塊總結(jié),本文詳細(xì)講解了subprocess模塊參數(shù)及Popen方法,然后給出了多個(gè)使用實(shí)例,需要的朋友可以參考下
    2014-11-11
  • 編寫Python爬蟲抓取豆瓣電影TOP100及用戶頭像的方法

    編寫Python爬蟲抓取豆瓣電影TOP100及用戶頭像的方法

    這篇文章主要介紹了編寫Python爬蟲抓取豆瓣電影TOP100及用戶頭像的方法,用到了Python的urllib和urllib2模塊,需要的朋友可以參考下
    2016-01-01

最新評(píng)論