最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python結(jié)合opencv實(shí)現(xiàn)人臉檢測(cè)與跟蹤

 更新時(shí)間:2015年06月08日 08:37:07   投稿:hebedich  
在Python下用起來(lái)OpenCV很爽,代碼很簡(jiǎn)潔,很清晰易懂。使用的是Haar特征的分類(lèi)器,訓(xùn)練之后得到的數(shù)據(jù)存在一個(gè)xml中。下面我們就來(lái)詳細(xì)談?wù)劇?/div>

模式識(shí)別課上老師留了個(gè)實(shí)驗(yàn),在VC++環(huán)境下利用OpenCV庫(kù)編程實(shí)現(xiàn)人臉檢測(cè)與跟蹤。

然后就開(kāi)始下載opencv和vs2012,再然后,配置了好幾次還是配置不成功,這里不得不吐槽下微軟,軟件做這么大,這么難用真的好嗎?

于是就嘗試了一下使用python完成實(shí)驗(yàn)任務(wù),大概過(guò)程就是這樣子的:

首先,配置運(yùn)行環(huán)境:

下載opencv和python的比較新的版本,推薦opencv2.4.X和python2.7.X。

直接去官網(wǎng)下載就ok了,python安裝時(shí)一路next就行,下載的opencv.exe文件運(yùn)行后基本上是一個(gè)解壓的過(guò)程,自己選擇一個(gè)解壓路徑(盡量不要出現(xiàn)中文),然后就坐等解壓完成。

然后從opencv解壓后的路徑中找(D:\My Documents\Downloads)\opencv\build\python\2.7\x86,()里面的部分是你自己的安裝路徑,其中x86對(duì)應(yīng)32位的機(jī)器,x64代表64位的機(jī)器,當(dāng)然要按照你機(jī)器的實(shí)際情況選擇了。將這個(gè)路徑里面的cv2.pyd拷貝至python2.7的模塊路徑C:\Python27\Lib\site-packages里,python2.7默認(rèn)安裝在C盤(pán)跟目錄下。

此時(shí)打開(kāi)python,在cmd下輸入python,或者直接打開(kāi)“所有程序->active state active python->Python Interactive Shell”都行。

接下來(lái)輸入import cv2,出錯(cuò)了對(duì)不對(duì)?為什么呢?

這是因?yàn)闆](méi)有安裝numpy這個(gè)python模塊,去numpy的官網(wǎng)下載一個(gè)比較新的版本,因?yàn)樽钚碌陌姹疽话愣际窃创a,需要去命令行中安裝,比較麻煩,推薦找一個(gè)exe文件。注意,在官網(wǎng)給出的鏈接中,切記看完全名稱(chēng),后面一般都會(huì)提示這個(gè)模塊在哪個(gè)python版本下安裝時(shí)比較和諧,選擇你自己安裝的python版本對(duì)應(yīng)的numpy模塊。下載完成后安裝時(shí)看一下該模塊給出的python路徑對(duì)不對(duì),對(duì)的話(huà)然后next就行了,不對(duì)的話(huà)可能就是你的python是2.7,卻下了numpy for python 3.0.

這時(shí)再去import一下cv2,如果什么也沒(méi)有輸出的話(huà)就是import成功了。

簡(jiǎn)直比vs下的配置簡(jiǎn)單了好幾個(gè)數(shù)量級(jí),對(duì)不對(duì)?

配置好環(huán)境后,跟著opencv嗨起來(lái)!

然后在pythonwin或idle(python gui)下新建一個(gè)py文件,輸入以下代碼:

import cv2
import numpy as np
cv2.namedWindow("test")
cap=cv2.VideoCapture(0)
success,frame=cap.read()
classifier=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")   #確保此xml文件與該py文件在一個(gè)文件夾下,否則將這里改為絕對(duì)路徑,此xml文件可在D:\My Documents\Downloads\opencv\sources\data\haarcascades下找到。

while success:
  success,frame=cap.read()
  size=frame.shape[:2]
  image=np.zeros(size,dtype=np.float16)
  image=cv2.cvtColor(frame,cv2.cv.CV_BGR2GRAY)
  cv2.equalizeHist(image,image)
  divisor=8
  h,w=size
  minSize=(w/divisor,h/divisor)
  faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize)
  if len(faceRects)>0:
    for faceRect in faceRects:
      x,y,w,h=faceRect
      cv2.circle(frame,(x+w/2,y+h/2),min(w/2,h/2),(255,0,0))
      cv2.circle(frame,(x+w/4,y+h/4),min(w/8,h/8),(255,0,0))
      cv2.circle(frame,(x+3*w/4,y+h/4),min(w/8,h/8),(255,0,0))
      cv2.rectangle(frame,(x+3*w/8,y+3*h/4),(x+5*w/8,y+7*h/8),(255,0,0))
  cv2.imshow("test",frame) 
  key=cv2.waitKey(10)
  c=chr(key&255)
  if c in ['q','Q',chr(27)]:
    break
cv2.destroyWindow("test")

為什么沒(méi)有注釋?zhuān)憧峙轮老掠晏?,dir()和help()更配呦。

這段代碼的功能就是對(duì)計(jì)算機(jī)攝像頭拍到的視頻加以處理,使其顯示并追蹤人臉。下圖是運(yùn)行效果:

最后再說(shuō)一句,這個(gè)過(guò)程說(shuō)起來(lái)簡(jiǎn)單,但很容易出錯(cuò),希望大家能自己找到錯(cuò)誤的原因,并解決錯(cuò)誤。如果自己解決不了的話(huà),不妨把問(wèn)題貼在評(píng)論里,大家來(lái)共同解決,共同進(jìn)步。

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • OpenCV半小時(shí)掌握基本操作之傅里葉變換

    OpenCV半小時(shí)掌握基本操作之傅里葉變換

    這篇文章主要介紹了OpenCV基本操作之傅里葉變換,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python牛刀小試密碼爆破

    Python牛刀小試密碼爆破

    用Python與vbs分別實(shí)現(xiàn)的爆破bbs論壇賬號(hào)的代碼,學(xué)習(xí)python或vbs的朋友可以參考下。
    2011-02-02
  • python selenium執(zhí)行所有測(cè)試用例并生成報(bào)告的方法

    python selenium執(zhí)行所有測(cè)試用例并生成報(bào)告的方法

    今天小編就為大家分享一篇python selenium執(zhí)行所有測(cè)試用例并生成報(bào)告的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • 解決python升級(jí)引起的pip執(zhí)行錯(cuò)誤的問(wèn)題

    解決python升級(jí)引起的pip執(zhí)行錯(cuò)誤的問(wèn)題

    今天小編就為大家分享一篇解決python升級(jí)引起的pip執(zhí)行錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Python函數(shù)中定義參數(shù)的四種方式

    Python函數(shù)中定義參數(shù)的四種方式

    有些時(shí)候看到函數(shù)傳參數(shù)的時(shí)候參數(shù)前面加一個(gè)星號(hào)*或者兩個(gè)星號(hào)**,這是什么意思? 下面來(lái)總結(jié)下
    2014-11-11
  • python2.7 安裝pip的方法步驟(管用)

    python2.7 安裝pip的方法步驟(管用)

    這篇文章主要介紹了python2.7 安裝pip的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 基于python的Tkinter編寫(xiě)登陸注冊(cè)界面

    基于python的Tkinter編寫(xiě)登陸注冊(cè)界面

    這篇文章主要為大家詳細(xì)介紹了基于python的Tkinter編寫(xiě)登陸注冊(cè)界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Python控制線(xiàn)程和函數(shù)超時(shí)處理

    Python控制線(xiàn)程和函數(shù)超時(shí)處理

    這篇文章主要介紹了Python控制線(xiàn)程和函數(shù)超時(shí)處理,文中利用兩種方法進(jìn)行eventlet庫(kù)和@func_set_timeout修飾器,文章具體詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-06-06
  • pycharm第三方庫(kù)安裝失敗的問(wèn)題及解決經(jīng)驗(yàn)分享

    pycharm第三方庫(kù)安裝失敗的問(wèn)題及解決經(jīng)驗(yàn)分享

    這篇文章主要介紹了pycharm第三方庫(kù)安裝失敗的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python爬蟲(chóng)中IP池的使用小結(jié)

    Python爬蟲(chóng)中IP池的使用小結(jié)

    在網(wǎng)絡(luò)爬蟲(chóng)的世界中,IP池是一個(gè)關(guān)鍵的概念,它允許爬蟲(chóng)程序在請(qǐng)求網(wǎng)頁(yè)時(shí)使用多個(gè)IP地址,從而降低被封禁的風(fēng)險(xiǎn),提高爬蟲(chóng)的穩(wěn)定性和效率,本文將深入探討Python爬蟲(chóng)中IP池的使用,以及如何構(gòu)建和維護(hù)一個(gè)可靠的IP池,感興趣的朋友一起看看吧
    2024-01-01

最新評(píng)論

成安县| 沁水县| 南昌市| 西城区| 松原市| 社旗县| 常德市| 盐边县| 太和县| 桐柏县| 甘泉县| 宁阳县| 南岸区| 新化县| 石家庄市| 肥东县| 拉萨市| 延庆县| 白城市| 清苑县| 临泽县| 华阴市| 涟源市| 涿州市| 海口市| 佛冈县| 蒲城县| 江都市| 龙泉市| 友谊县| 北海市| 通河县| 正宁县| 阿拉善盟| 乐都县| 中方县| 油尖旺区| 古交市| 阳原县| 南开区| 宁明县|