在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于OpenCV和 Python的人臉識(shí)別實(shí)現(xiàn)方案

jmiy_worldofai ? 來(lái)源:未知 ? 作者:工程師飛燕 ? 2018-10-21 10:08 ? 次閱讀

下午的時(shí)候,配好了OpenCV的Python環(huán)境,OpenCV的Python環(huán)境搭建。于是迫不及待的想體驗(yàn)一下opencv的人臉識(shí)別,如下文。

必備知識(shí)

Haar-like

Haar-like百科釋義。通俗的來(lái)講,就是作為人臉特征即可。

Haar特征值反映了圖像的灰度變化情況。例如:臉部的一些特征能由矩形特征簡(jiǎn)單的描述,如:眼睛要比臉頰顏色要深,鼻梁兩側(cè)比鼻梁顏色要深,嘴巴比周圍顏色要深等。

opencv api

要想使用opencv,就必須先知道其能干什么,怎么做。于是API的重要性便體現(xiàn)出來(lái)了。就本例而言,使用到的函數(shù)很少,也就普通的讀取圖片,灰度轉(zhuǎn)換,顯示圖像,簡(jiǎn)單的編輯圖像罷了。

如下:

讀取圖片

只需要給出待操作的圖片的路徑即可。

import cv2image = cv2.imread(imagepath)

灰度轉(zhuǎn)換

灰度轉(zhuǎn)換的作用就是:轉(zhuǎn)換成灰度的圖片的計(jì)算強(qiáng)度得以降低。

import cv2gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

畫(huà)圖

opencv 的強(qiáng)大之處的一個(gè)體現(xiàn)就是其可以對(duì)圖片進(jìn)行任意編輯,處理。下面的這個(gè)函數(shù)最后一個(gè)參數(shù)指定的就是畫(huà)筆的大小。

import cv2cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)

顯示圖像

編輯完的圖像要么直接的被顯示出來(lái),要么就保存到物理的存儲(chǔ)介質(zhì)。

import cv2cv2.imshow("Image Title",image)

獲取人臉識(shí)別訓(xùn)練數(shù)據(jù)

看似復(fù)雜,其實(shí)就是對(duì)于人臉特征的一些描述,這樣opencv在讀取完數(shù)據(jù)后很據(jù)訓(xùn)練中的樣品數(shù)據(jù),就可以感知讀取到的圖片上的特征,進(jìn)而對(duì)圖片進(jìn)行人臉識(shí)別。

import cv2face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')

里賣(mài)弄的這個(gè)xml文件,就是opencv在GitHub上共享出來(lái)的具有普適的訓(xùn)練好的數(shù)據(jù)。我們可以直接的拿來(lái)使用。

訓(xùn)練數(shù)據(jù)參考地址:

https://github.com/opencv/opencv/tree/master/data/haarcascades

探測(cè)人臉

說(shuō)白了,就是根據(jù)訓(xùn)練的數(shù)據(jù)來(lái)對(duì)新圖片進(jìn)行識(shí)別的過(guò)程。

import cv2

# 探測(cè)圖片中的人臉

faces = face_cascade.detectMultiScale( gray, scaleFactor = 1.15, minNeighbors = 5, minSize = (5,5), flags = cv2.cv.CV_HAAR_SCALE_IMAGE)

我們可以隨意的指定里面參數(shù)的值,來(lái)達(dá)到不同精度下的識(shí)別。返回值就是opencv對(duì)圖片的探測(cè)結(jié)果的體現(xiàn)。

處理人臉探測(cè)的結(jié)果

結(jié)束了剛才的人臉探測(cè),我們就可以拿到返回值來(lái)做進(jìn)一步的處理了。但這也不是說(shuō)會(huì)多么的復(fù)雜,無(wú)非添加點(diǎn)特征值罷了。

import cv2

print "發(fā)現(xiàn){0}個(gè)人臉!".format(len(faces))

for(x,y,w,h) in faces: cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)

實(shí)例

有了剛才的基礎(chǔ),我們就可以完成一個(gè)簡(jiǎn)單的人臉識(shí)別的小例子了。

圖片素材

下面的這張圖片將作為我們的檢測(cè)依據(jù)。

人臉檢測(cè)代碼

# coding:utf-8

import sys

reload(sys)

sys.setdefaultencoding('utf8')

# __author__ = '郭 璞'

# __date__ = '2016/9/5'

# __Desc__ = 人臉檢測(cè)小例子,以圓圈圈出人臉

import cv2

# 待檢測(cè)的圖片路徑

imagepath = r'./heat.jpg'

# 獲取訓(xùn)練好的人臉的參數(shù)數(shù)據(jù),這里直接從GitHub上使用默認(rèn)值

face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalface_default.xml')

# 讀取圖片

image = cv2.imread(imagepath)

gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

# 探測(cè)圖片中的人臉

faces = face_cascade.detectMultiScale(

gray,

scaleFactor = 1.15,

minNeighbors = 5,

minSize = (5,5),

flags = cv2.cv.CV_HAAR_SCALE_IMAGE

)

print "發(fā)現(xiàn){0}個(gè)人臉!".format(len(faces))

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

# cv2.rectangle(image,(x,y),(x+w,y+w),(0,255,0),2)

cv2.circle(image,((x+x+w)/2,(y+y+h)/2),w/2,(0,255,0),2)

cv2.imshow("Find Faces!",image)

cv2.waitKey(0)

人臉檢測(cè)結(jié)果

輸出圖片:

輸出結(jié)果:

D:SoftwarePython2python.exe E:/Code/Python/DataStructor/opencv/Demo.py發(fā)現(xiàn)3個(gè)人臉!

總結(jié)

回顧一下,這次的實(shí)驗(yàn)就是簡(jiǎn)單的對(duì)opencv的常用的api的使用,重點(diǎn)在于訓(xùn)練數(shù)據(jù)的使用和人臉探測(cè)的處理。


下午的時(shí)候,配好了OpenCV的Python環(huán)境,OpenCV的Python環(huán)境搭建。于是迫不及待的想體驗(yàn)一下opencv的人臉識(shí)別,如下文。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 人臉識(shí)別
    +關(guān)注

    關(guān)注

    76

    文章

    4016

    瀏覽量

    82314
  • OpenCV
    +關(guān)注

    關(guān)注

    31

    文章

    635

    瀏覽量

    41556
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    85039

原文標(biāo)題:手把手教你如何用 OpenCV + Python 實(shí)現(xiàn)人臉識(shí)別

文章出處:【微信號(hào):worldofai,微信公眾號(hào):worldofai】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    樹(shù)莓派上使用OpenCVPython實(shí)現(xiàn)實(shí)時(shí)人臉檢測(cè)

    本文介紹了如何在樹(shù)莓派上,使用 OpenCVPython 完成人臉檢測(cè)項(xiàng)目。該項(xiàng)目不僅描述了識(shí)別人臉所需要的具體步驟,同時(shí)還提供了很多擴(kuò)展知識(shí)。此外,該項(xiàng)目并不需要讀者了解詳細(xì)
    的頭像 發(fā)表于 03-06 09:00 ?5.1w次閱讀

    如何用OpenCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--基于米爾NXP i.MX93開(kāi)發(fā)板

    : breakvideo.release()cv2.destroyAllWindows() 保存后執(zhí)行”python3 opencv_test.py OpenCV裝好后,可以為后面的人臉
    發(fā)表于 11-15 17:58

    基于openCV的人臉檢測(cè)系統(tǒng)的設(shè)計(jì)

    通過(guò)對(duì)基于Adaboost人臉檢測(cè)算法的研究,利用該算法與計(jì)算機(jī)視覺(jué)類庫(kù)openCV進(jìn)行人臉檢測(cè)系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了對(duì)出現(xiàn)在視頻或圖像中的人臉
    發(fā)表于 12-23 14:19

    【NanoPi2申請(qǐng)】基于opencv的人臉識(shí)別門(mén)禁系統(tǒng)

    防與監(jiān)控的系統(tǒng),望批準(zhǔn)!謝謝!項(xiàng)目描述:項(xiàng)目簡(jiǎn)述:本項(xiàng)目旨在一個(gè)較高性能的嵌入式平臺(tái)上搭建一個(gè)linux系統(tǒng),利用opencv編程實(shí)現(xiàn)人臉識(shí)別。為了
    發(fā)表于 12-18 14:34

    【LeMaker Guitar申請(qǐng)】基于LeMaker Guitar的人臉識(shí)別系統(tǒng)

    學(xué)習(xí)對(duì)嵌入式應(yīng)用層開(kāi)發(fā)有一個(gè)更深入的認(rèn)識(shí)。項(xiàng)目描述:基于LeMaker Guitar的人臉識(shí)別系統(tǒng)設(shè)計(jì)思路是把 OpenCV移植到嵌入式操作系統(tǒng)中,然后將人臉
    發(fā)表于 01-18 16:23

    【LeMaker Guitar試用體驗(yàn)】之基于Python的人臉識(shí)別系統(tǒng)【結(jié)貼】

    Python編程語(yǔ)言下實(shí)現(xiàn)基于LeMaker Guitar的人臉識(shí)別系統(tǒng),具體方案操作如下。一.實(shí)驗(yàn)說(shuō)明系統(tǒng)設(shè)備:1.LeMakerGuit
    發(fā)表于 02-25 14:03

    【Raspberry Pi 3試用體驗(yàn)】+Opencv+python的人臉識(shí)別

    ;)看一下效果:光線不好還是能認(rèn)出來(lái),說(shuō)明opencv自帶的分類器算開(kāi)源里面不錯(cuò)的了~參考:Tigerboard開(kāi)發(fā)板試用體驗(yàn) python+opencv的人臉識(shí)別 NanoPi2試用
    發(fā)表于 05-13 21:38

    【NanoPC-T4試用申請(qǐng)】基于opencv的人臉識(shí)別系統(tǒng)

    項(xiàng)目名稱:基于opencv的人臉識(shí)別系統(tǒng)試用計(jì)劃:申請(qǐng)理由:這個(gè)板子資源很豐富,能上android系統(tǒng)。現(xiàn)階段opencv是個(gè)很火的課題,那這塊板子來(lái)試用很是很適用。如果能獲得試用機(jī)會(huì)
    發(fā)表于 09-12 16:48

    基于MCU的人臉識(shí)別解決方案

    ` 本帖最后由 o_dream 于 2020-8-31 14:36 編輯 基于MCU的機(jī)器視覺(jué),可實(shí)現(xiàn)具有成本效益的人臉識(shí)別 恩智浦基于MCU的機(jī)器視覺(jué)解決方案利用i.MX RT1
    發(fā)表于 08-31 14:35

    怎樣去實(shí)現(xiàn)一種嵌入式linux上的人臉識(shí)別程序

    一、前言大概幾年前搞過(guò)一套嵌入式linux上的人臉識(shí)別程序,當(dāng)然人臉識(shí)別的核心算法并不是自己開(kāi)發(fā)的,關(guān)于人臉
    發(fā)表于 12-23 06:38

    分享一個(gè)不錯(cuò)的基于Android的人臉識(shí)別門(mén)禁硬件方案

    分享一個(gè)不錯(cuò)的基于Android的人臉識(shí)別門(mén)禁硬件方案
    發(fā)表于 03-07 07:29

    基于QT+OpenCV的人臉識(shí)別-米爾iMX8M Plus開(kāi)發(fā)板的項(xiàng)目應(yīng)用

    本篇測(cè)評(píng)由電子工程世界的優(yōu)秀測(cè)評(píng)者“流行科技”提供。此次測(cè)試的開(kāi)源項(xiàng)目,是基于QT+OpenCV的人臉識(shí)別打卡項(xiàng)目。本次體驗(yàn)使用的是開(kāi)源的代碼,此代碼本來(lái)是運(yùn)行在WIN下的,為了測(cè)試稍微進(jìn)行了修改
    發(fā)表于 05-17 17:43

    基于openCV的人臉檢測(cè)識(shí)別系統(tǒng)的設(shè)計(jì)

    通過(guò)對(duì)基于Adaboost人臉檢測(cè)算法的研究,利用該算法與計(jì)算機(jī)視覺(jué)類庫(kù)openCV進(jìn)行人臉檢測(cè)系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)了對(duì)出現(xiàn)在視頻或圖像中的人臉
    發(fā)表于 06-15 10:53 ?477次下載
    基于<b class='flag-5'>openCV</b><b class='flag-5'>的人臉</b>檢測(cè)<b class='flag-5'>識(shí)別</b>系統(tǒng)的設(shè)計(jì)

    基于python代碼的人臉識(shí)別實(shí)例

    基于python代碼的一個(gè)人臉識(shí)別的實(shí)例,完整的實(shí)例,本人在pycharm中實(shí)測(cè)通過(guò),是一個(gè)很基礎(chǔ)的入門(mén)級(jí)的人臉檢測(cè)和識(shí)別
    發(fā)表于 07-18 11:11 ?13次下載

    基于OpenCV的人臉識(shí)別系統(tǒng)設(shè)計(jì)

    基于OpenCV的人臉識(shí)別系統(tǒng)是一個(gè)復(fù)雜但功能強(qiáng)大的系統(tǒng),廣泛應(yīng)用于安全監(jiān)控、人機(jī)交互、智能家居等多個(gè)領(lǐng)域。下面將詳細(xì)介紹基于OpenCV的人臉
    的頭像 發(fā)表于 07-11 15:37 ?1.5w次閱讀
    主站蜘蛛池模板: 伊人久久影院大香线蕉 | 四虎影视大全免费入口 | 天堂网在线.www天堂在线资源 | 老师叫我揉她内裤越快越好 | 国产成人啪精品午夜在线播放 | 久久澡人人澡狠狠澡 | 丁香婷婷六月天 | 色碰人色碰人视频 | 免费观看在线aa | 欧美一区二区三区黄色 | 免费看毛片网 | 天天摸夜夜摸夜夜狠狠摸 | 国产色婷婷亚洲 | 人人看人人做 | 永久免费的啪啪免费的网址 | 国产午夜精品久久久久 | 88影视在线观看污污 | 噜噜色网 | 中文字幕卡二和卡三的视频 | 天天插天天舔 | 色综合久久综精品 | 四虎国产精品永久地址49 | 色婷婷激情 | 韩国三级久久精品 | 在线午夜视频 | 天天操天天插天天干 | 中文4480yy私人免费影院 | 男人操女人免费 | 欧美成网 | 国内一级特黄女人精品片 | 国产成人精品男人的天堂538 | 色婷婷久久综合中文久久蜜桃 | 污视频日本| 国产成人精品曰本亚洲78 | 国产美女视频免费 | 久久久久久久国产精品影院 | 久久久久久久性潮 | 日本三级三级三级免费看 | 一级久久久| 在线www 天堂网在线 | 国产一区高清 |