99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用DFRobot LattePanda進(jìn)行OpenCV人臉識(shí)別

使用DFRobot LattePanda進(jìn)行OpenCV人臉識(shí)別

2022-10-28 | zip | 1.05 MB | 次下載 | 2積分

資料介紹

描述

介紹

在本文中,我們將介紹如何使用 Python 編程語言中的 OpenCV 庫在 LattePanda 上實(shí)現(xiàn)人臉識(shí)別。

我們使用的操作系統(tǒng)是 LattePanda 上默認(rèn)的 Windows 10。

1. 軟件準(zhǔn)備

安裝 Python

首先,請從官網(wǎng)下載最新的Python注意Python有兩個(gè)版本,一個(gè)是2.7.x版本,一個(gè)是3.x版本。2.7.x 版本是較舊的版本,將來會(huì)被棄用,所以在這個(gè)項(xiàng)目中我們使用 Python3,本文中的最新版本是3.6.1 。

請按照下圖安裝。

?
pYYBAGNY0S-AGImkAAG4oESpYos912.png
?

安裝 Python 時(shí)不要忘記勾選“ Add Python 3.6 to PATH ”選項(xiàng),它使 Windows 系統(tǒng)能夠調(diào)用 Python 可執(zhí)行文件。

?
pYYBAGNY0TGAUk7pAAB3tSsNiHM805.png
?

安裝后,為了測試我們是否可以在 LattePanda 上運(yùn)行 Python,請按快捷鍵“Win+R”啟動(dòng)命令提示符并輸入“ cmd ”。

?
poYBAGNY0TSAacR0AABOzQb_BzI704.png
?

接下來,在 cmd 中鍵入“ python ”以啟動(dòng) Python 交互會(huì)話。如果出現(xiàn)符號(hào)“ >>> ”,則表示 Python 已成功安裝并在您的操作系統(tǒng)上運(yùn)行。否則,如果您看到任何錯(cuò)誤消息,請檢查安裝步驟,尤其是PATH選項(xiàng)。

?
poYBAGNY0TaAcwjsAAAvA968v04391.png
?

請輸入“ exit() ”命令退出此shell并返回命令提示符。

?
poYBAGNY0TyAXMgyAAA9qeTJpHU409.png
?

安裝所需的軟件包

現(xiàn)在,我們將使用Python 包管理器(pip)安裝這個(gè)項(xiàng)目的三個(gè)必要的 Python 包

1. 請?jiān)诿钐崾痉螺斎搿?pip install numpy ”安裝此Python數(shù)值計(jì)算工具。

?
pYYBAGNY0T-AByJAAAA0E2U9SAs314.png
?

2.接下來,輸入“ pip install opencv-python ”來安裝OpenCV,一個(gè)開源的計(jì)算機(jī)視覺庫,我們在我們的項(xiàng)目中使用它來識(shí)別人臉。

?
poYBAGNY0UGABpabAABdw3Y11no496.png
?

3、最后輸入“ pip install pyserial ”安裝Python的串口通訊工具。我們使用這個(gè)庫與 Python 和 Arduino 建立串行連接。

?
poYBAGNY0USAbGHVAAA0PccUsqs777.png
?

Thonny - Python IDE

人們可能需要一些工具來有效地編寫代碼。這是我們向您推薦的一個(gè)名為Thonny的優(yōu)秀 Python IDE 。該 IDE 集成了適合初學(xué)者的所有基本工具(調(diào)試器、python shell、變量等)。

您可以從官方網(wǎng)站下載它:.

?
pYYBAGNY0UeAYvFMAAEezViA1TI764.png
?

為了讓 Thonny 使用之前安裝的 Python 包,我們需要將解釋器的默認(rèn)路徑更改為 Windows 系統(tǒng)中 Python 可執(zhí)行文件的位置。

在 thonny IDE 中,單擊工具,然后單擊選項(xiàng)以打開首選項(xiàng)窗口:

?
poYBAGNY0UyADT-9AADUu8rAKmc978.png
?

在這個(gè)窗口中,點(diǎn)擊interpreter選項(xiàng)卡,將路徑設(shè)置為默認(rèn)的Python安裝路徑,如下圖:

?
poYBAGNY0U6AK2NRAAER-yfuebI464.png
?

2.硬件

我們在這個(gè)項(xiàng)目中使用Logitech C270 網(wǎng)絡(luò)攝像頭(或幾乎任何其他帶有 USB 連接器的網(wǎng)絡(luò)攝像頭)來識(shí)別人臉。而要跟蹤人臉位置,我們需要一個(gè)小的旋轉(zhuǎn)平臺(tái)。如下圖所示,我們使用底部的小型伺服電機(jī)(Tower Pro MG90)來旋轉(zhuǎn)安裝在其上的相機(jī)。您可以在Thingiverse 網(wǎng)站上查看現(xiàn)成的網(wǎng)絡(luò)攝像頭/伺服支架。

請注意,伺服信號(hào)線連接到LattePanda 上的Arduino 引腳 9 。確保正確連接,棕色接地針朝外,如 LattePanda 上標(biāo)記的那樣。

?
pYYBAGNY0VqAe5lzAAbPt3ugO_0026.png
?

三、軟件實(shí)現(xiàn)

阿杜諾素描

請啟動(dòng) Arduino IDE 并將以下代碼下載到 LattePanda 的 Arduino Leonardo 內(nèi)核(您必須指定正確的 COM 端口,通常是COM4 )。

在這段代碼中,LattePanda 的 Arduino 芯片會(huì)從串口接收到兩條不同的指令,如果指令是“ a ”或“ b ”,則將相機(jī) CCW 或 CW 轉(zhuǎn)動(dòng) 1 度(此值可根據(jù)你的要求)。

由于我們已將伺服連接到 LattePanda Arduino D9引腳,當(dāng)然我們必須在您的 Arduino 草圖(第 9 行)中指定它。如果要將伺服切換到另一個(gè)引腳,請記住將“ s.attach(9) ”這一行中的引腳號(hào)修改為實(shí)際引腳號(hào)。伺服上限 (180) 和伺服下限 (0) 可以根據(jù)物理設(shè)置進(jìn)行修改。

//Arduino sketch
//waiting command from LattePanda (Python) to control servo
#include 
Servo s;
int degree = 90;
void setup()
{
    Serial.begin(115200);
    s.attach(9);
}
void loop()
{
    if(Serial.available())
    {
        int cmd = Serial.read();
        if(cmd == 'a')
        {
            degree++;
            if(degree >= 180)
                degree = 180;
            s.write(degree);
        }
        else if(cmd == 'b')
        {
            degree--;
            if(degree <= 0)   //lower
                degree = 0;
            s.write(degree);
        }
        else
            Serial.println("Press a/b to turn the camrea!");
    }
}

Python 腳本

我們已經(jīng)準(zhǔn)備好了 Python 庫和 IDE,現(xiàn)在讓我們完成人臉跟蹤的實(shí)現(xiàn)。

由于我們要在這個(gè)項(xiàng)目中檢測人臉,請從OpenCV github(https://github.com/opencv/opencv/tree/master/data/haarcascades)下載現(xiàn)有模型,我們需要兩個(gè)xml文件:

  • haarcascade_frontalface_default.xml :用于人臉檢測
  • haarcascade_eye.xml :用于眼睛檢測。

首先,我們將調(diào)用函數(shù)“ cv2.VideoCapture(0) ”從分辨率為 640x480 的相機(jī)中檢索圖像數(shù)據(jù)。接下來,我們構(gòu)建串行連接(第 9中的COM4 )與 Arduino 內(nèi)核通信,并使用它來控制伺服角度。

while循環(huán)中的識(shí)別功能就是簡單地將每一幀中的原始圖像轉(zhuǎn)換為灰度顏色,然后使用識(shí)別模型(face_cascade和eye_cascade)在這一幀中找到最可能的人臉。

如何確定我們想要的臉?該程序?qū)⒂?jì)算圖像中有多少張臉并選擇最大的一張。

為了跟蹤人臉,程序首先計(jì)算人臉的位置(第22行中的position = x + w/2.0 ),x是標(biāo)記人臉的矩形的左上角坐標(biāo),w是矩形的寬度.

LattePanda 得到人臉位置后,將其與圖像中心(#24~27 行)進(jìn)行比較,并發(fā)出命令旋轉(zhuǎn)相機(jī)平臺(tái)以補(bǔ)償差異。

注意,我們已經(jīng)指定中心線為320 (由 640/2 導(dǎo)出,640 是每個(gè)圖像幀的分辨率寬度)。所以如果你想修改分辨率或者使用另一個(gè)網(wǎng)絡(luò)攝像頭,不要忘記改變這個(gè)參數(shù)。

import cv2
import numpy as np
import serial
face_cascade = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('./haarcascade_eye.xml')
cap = cv2.VideoCapture(0)
cap.set(3, 640)
cap.set(4, 480)
ser = serial.Serial('COM4', 115200)
while True:
    _, img = cap.read()
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, 2, 5)
    if len(faces):
        (x, y, w, h) = max(faces, key=lambda face: face[2]*face[3])
        cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
        roi_gray = gray[y:y+h, x:x+w]
        roi_color = img[y:y+h, x:x+w]
        eyes = eye_cascade.detectMultiScale(roi_gray)
        for (ex,ey,ew,eh) in eyes:
            cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
        position = x + w/2.0
        print(position)
        if position < 320:
            ser.write(b'a')
        else:
            ser.write(b'b')
        
    cv2.imshow('face', img)
    k = cv2.waitKey(5) & 0xFF
    if k == 27:
        break
cv2.destroyAllWindows()

演示視頻

檢查這個(gè)項(xiàng)目的性能,我們在手機(jī)上顯示一張人臉圖片,你可以看到網(wǎng)絡(luò)攝像頭會(huì)嘗試將其中心對(duì)準(zhǔn)人臉。欣賞~

?

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)