<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
      此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
      人工智能開發(fā)者 正文
      發(fā)私信給AI研習(xí)社
      發(fā)送

      0

      手把手教你如何用 OpenCV + Python 實(shí)現(xiàn)人臉識別

      本文作者: AI研習(xí)社 2017-05-02 15:33
      導(dǎo)語:如何實(shí)現(xiàn)人臉識別?

      雷鋒網(wǎng)按:本文作者郭璞,原文載于作者個(gè)人博客,雷鋒網(wǎng)已獲授權(quán)。

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

        必備知識

      Haar-like

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

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

      opencv api

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

      如下:

      讀取圖片

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

      import cv2
      image = cv2.imread(imagepath)

      灰度轉(zhuǎn)換

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

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

      畫圖

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

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

      顯示圖像

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

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

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

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

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

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

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

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

      探測人臉

      說白了,就是根據(jù)訓(xùn)練的數(shù)據(jù)來對新圖片進(jìn)行識別的過程。

      import cv2

      # 探測圖片中的人臉

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

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

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

      結(jié)束了剛才的人臉探測,我們就可以拿到返回值來做進(jìn)一步的處理了。但這也不是說會(huì)多么的復(fù)雜,無非添加點(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è)簡單的人臉識別的小例子了。

      圖片素材

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

      手把手教你如何用 OpenCV + Python 實(shí)現(xiàn)人臉識別

      人臉檢測代碼

      # coding:utf-8

      import sys


      reload(sys)

      sys.setdefaultencoding('utf8')

      #    __author__ = '郭 璞'

      #    __date__ = '2016/9/5'

      #    __Desc__ = 人臉檢測小例子,以圓圈圈出人臉

      import cv2

      # 待檢測的圖片路徑

      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)


      # 探測圖片中的人臉

      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)

      人臉檢測結(jié)果

      輸出圖片: 

      手把手教你如何用 OpenCV + Python 實(shí)現(xiàn)人臉識別

      輸出結(jié)果:

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

      詳情見:案例參考

        總結(jié)

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

      TensorFlow & 神經(jīng)網(wǎng)絡(luò)算法高級應(yīng)用班” 要開課啦!

      從初級到高級,理論 + 實(shí)戰(zhàn),一站式深度了解 TensorFlow!

      本課程面向深度學(xué)習(xí)開發(fā)者,講授如何利用 TensorFlow 解決圖像識別、文本分析等具體問題。課程跨度為 10 周,將從 TensorFlow 的原理與基礎(chǔ)實(shí)戰(zhàn)技巧開始,一步步教授學(xué)員如何在 TensorFlow 上搭建 CNN、自編碼、RNN、GAN 等模型,并最終掌握一整套基于 TensorFlow 做深度學(xué)習(xí)開發(fā)的專業(yè)技能。

      兩名授課老師佟達(dá)、白發(fā)川身為 ThoughtWorks 的資深技術(shù)專家,具有豐富的大數(shù)據(jù)平臺(tái)搭建、深度學(xué)習(xí)系統(tǒng)開發(fā)項(xiàng)目經(jīng)驗(yàn)。

      時(shí)間:每周二、四晚 20:00-21:00

      開課時(shí)長:總學(xué)時(shí) 20 小時(shí),分 10 周完成,每周 2 次,每次 1 小時(shí)

      線上授課地址:http://www.mooc.ai/

      雷鋒網(wǎng)相關(guān)閱讀:

      老板來了:人臉識別 + 手機(jī)推送,老板來了你立刻知道!

      繼LFW之后,騰訊優(yōu)圖又在難度更大的人臉識別庫MegaFace中獲得全球第一

      33歲男子如何發(fā)現(xiàn)自己被拐真相?除了川式烤魚,還有人臉識別技術(shù)

      雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

      手把手教你如何用 OpenCV + Python 實(shí)現(xiàn)人臉識別

      分享:
      相關(guān)文章

      編輯

      聚焦數(shù)據(jù)科學(xué),連接 AI 開發(fā)者。更多精彩內(nèi)容,請?jiān)L問:yanxishe.com
      當(dāng)月熱門文章
      最新文章
      請?zhí)顚懮暾埲速Y料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個(gè)人簡介
      為了您的賬戶安全,請驗(yàn)證郵箱
      您的郵箱還未驗(yàn)證,完成可獲20積分喲!
      請驗(yàn)證您的郵箱
      立即驗(yàn)證
      完善賬號信息
      您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
      立即設(shè)置 以后再說
      主站蜘蛛池模板: 欧美成人午夜无码A片秀色直播 | 国产九九在线| 国产成人精品日本亚洲77上位| 脱岳裙子从后面挺进去在线观看| 久99视频| 久久99精品一久久久久久| 亚洲欧美成aⅴ人在线观看| 免费又爽又大又高潮视频| 青楼妓女禁脔道具调教sm| 亚洲3P| 日本黄页网站免费大全| 在线a视频网站| 开心色怡人综合网站| 国产男人天堂| 把腿张开ji巴cao死你h| av高清无码在线观看| 无码AⅤ一区二区三区| 日韩精品在线观看一二区| 国产999视频| 亚洲日韩每日更新| 国产综合av一区二区三区| 国产欧美一区二区精品久久久 | 91激情| 超碰666| 成人三级一区二区成人| 中囯熟妇xxxx| 日本一卡2卡3卡四卡精品网站| 77777五月色婷婷丁香视频| 欧美 亚洲 日韩 在线综合| 亚洲人成亚洲人成在线观看| 啊片在线观看| 亚洲成人观看| 伊人久久大香线蕉精品,亚洲国产一成人久久精品,久久99精品久久久久久三级,亚 | 中文无久久香码精品欧美日韩| 粗大的内捧猛烈进出小视频| 色88久久久久高潮综合影院| 国产亚洲精品在av| 综合Av| 登封市| 日本少妇高潮喷水xxxxxxx| 美女黄网站视频免费视频|