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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Opencv人臉識別的制作

454398 ? 來源:wv ? 2019-10-13 17:04 ? 次閱讀

步驟1:您需要的東西

Opencv人臉識別的制作

1.RASPBERRY PI

2.ARDUINO UNO/NANO

3.16x2 LCD顯示屏

4.RASPI-CAMERA/WEBcam(我更喜歡使用網(wǎng)絡攝像頭以獲得更好的效果)

Step 2:Opencv簡介和安裝

OpenCV(開源計算機視覺庫)是一個非常有用的庫-它提供了許多有用的功能,例如文本識別,面部識別,對象檢測,深度圖的創(chuàng)建和機器學習。

本文將向您展示如何在Raspberry Pi上安裝Opencv和其他庫,這將在進行對象檢測和其他項目時派上用場。從那里,我們將學習如何通過執(zhí)行對象識別和機器學習項目來執(zhí)行圖像和視頻操作。具體來說,我們將編寫一個簡單的代碼來檢測圖像中的人臉。

什么是OpenCV?

OpenCV是一種開放源代碼的計算機視覺和機器學習軟件庫。 OpenCV是在BSD許可下發(fā)布的,可免費用于學術和商業(yè)用途。它具有C ++,PythonJava接口,并支持Windows,Linux,Mac OS,iOSAndroid。 OpenCV旨在提高計算效率并著重于實時應用。

如何在Raspberry Pi上安裝OpenCV?

要安裝OpenCV,我們需要安裝Python。由于Raspberry Pis已預裝Python,因此我們可以直接安裝OpenCV。

鍵入以下命令,以確保您的Raspberry Pi是最新的,并將Raspberry Pi上已安裝的軟件包更新為最新版本。

sudo apt-get更新

sudo apt-get升級

在終端中鍵入以下命令以安裝所需的軟件包在樹莓派上使用OpenCV。 》

鍵入以下命令以在Raspberry Pi上安裝適用于Python 3的OpenCV 3,pip3告知我們將為Python 3安裝OpenCV。/p》

sudo pip3安裝opencv-contrib-python libwebp6

現(xiàn)在,OpenCV應該被安裝。

(如果發(fā)生任何錯誤:您仍然可以通過以下鏈接進行操作

https://www.instructables.com/id/Raspberry-Pi-Hand 。..)

現(xiàn)在不要著急,我們需要檢查它是否已正確安裝

通過以下方法測試您的opencv:

1.go到終端并鍵入“ python”

2。然后鍵入“ import cv2”。

3。然后鍵入“ cv2 .__ version __”。

然后安裝這些庫

pip3安裝python-numpy

pip3安裝python-matplotlib

測試代碼以檢測圖像中的人臉:

導入cv2

faceCascade = cv2.CascadeClassifier(“ haarcascade_frontalface_default.xml”);

image = cv2.imread(‘您的文件名’) #example-》 cv2.imread(‘home/pi/Desktop/filename.jpg’)

您將獲得像正方形盒子一樣的輸出形成在照片中人的臉上e。

步驟3:在實時視頻中檢測和識別人臉

導入cv2

將numpy導入為np

導入操作系統(tǒng)

導入序列

ser = serial.Serial(‘/dev/ttyACM0’,9600,timeout = 1) #/dev/ttyACM0可能根據(jù)您的情況而定,取決于arduino

cascadePath =“ haarcascade_frontalface_default.xml”

faceCascade = cv2.CascadeClassifier(cascadePath)

識別= cv2.face.createLBPHFaceRecognizer()

結果

images = []

labels = []

im = cv2.imread(‘數(shù)據(jù)集/’+文件名,0)

images.append(im)

labels.append(int(filename.split(‘?!?] [0]))

#打印文件名

nam es_file =開放( ‘labels.txt’)

名= names_file.read()。分裂( ‘ n’)

recognizer.train(images,np.array(labels))

打印“培訓完成”。 。 。 ‘

font = cv2.FONT _

HERSHEY_SIMPLEXcap = cv2.VideoCapture(1)#您的視頻設備

lastRes =’‘count = 0

while(1):

_,frame = cap.read()

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

面孔= faceCascade.detectMultiScale(gray,1.3,5)

count + = 1

為(x,y,w, h):

cv2.rectangle(frame,(x,y),(x + w,y + h),(255,0,0),2 )

如果計數(shù)》 20:res = names [recognizer.predict(gray [y:y + h,x:x + w])-1]

如果res!= lastRes:

lastRes = res

打印lastRes

ser.write(lastRes)

計數(shù)= 0

打破

cv2 .imshow(’frame‘,frame)

k = 0xFF&cv2。 waitKey(10)

如果k == 27:

中斷

的 cap.release()

ser.close()

cv2.destroyAllWindows()

步驟4:運行代碼

1。下載上一步中隨附的文件

2。將灰色照片(6張圖像/樣本。..。.)復制到數(shù)據(jù)集文件夾

1.Tom Cruise-》 1_1,1_2,1_3,1_4,1_5, 1_6 (用于更多打開的數(shù)據(jù)集文件夾的數(shù)據(jù)集圖像編號)

2。布拉德·皮特(Brad Pitt)-》 2_1,2_2,2_3,2_4,2_5,2_6

3。利奧---》 3_1,3_2,3_3,3_4,3_5,3_6

4。鐵人三項 - 》 4_1,4_2,4_3,4_4,4_5,4_6

結果

像上面一樣,您可以為各個人添加標簽,

因此,如果pi檢測到1_1中的人臉, 1_2,1_3,1_4,1_5,1_6,然后它被標記為湯姆·克魯斯(Tom Cruise),所以在上傳照片時請小心。

,然后將您的arduino連接到樹莓派并在main.py代碼中進行更改。ser= serial.Serial(’/dev/ttyACM0‘,9600,timeout = 1)3.put所有下載的文件(main.py,dataset文件夾,haarcascade_frontalface_default.xml在一個文件夾中。)

3。現(xiàn)在打開Raspi終端,通過“ sudo python main.py”運行您的代碼

4.arduino LCD將顯示檢測到的面部名稱

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 人臉識別
    +關注

    關注

    76

    文章

    3998

    瀏覽量

    81364
  • OpenCV
    +關注

    關注

    29

    文章

    622

    瀏覽量

    41091
收藏 人收藏

    評論

    相關推薦

    基于OpenCV人臉識別系統(tǒng)設計

    基于OpenCV人臉識別系統(tǒng)是一個復雜但功能強大的系統(tǒng),廣泛應用于安全監(jiān)控、人機交互、智能家居等多個領域。下面將詳細介紹基于OpenCV人臉
    的頭像 發(fā)表于 07-11 15:37 ?1.1w次閱讀

    人臉識別技術的可行性在于矛盾具有什么性

    矛盾的普遍性角度,探討人臉識別技術的可行性,并分析其在實際應用中所面臨的矛盾和問題。 二、人臉識別技術概述 人臉
    的頭像 發(fā)表于 07-04 09:28 ?309次閱讀

    人臉識別技術的優(yōu)缺點有哪些

    人臉識別技術是一種基于人臉特征信息進行身份識別的生物識別技術。隨著計算機視覺、深度學習等技術的發(fā)展,人臉
    的頭像 發(fā)表于 07-04 09:25 ?1061次閱讀

    人臉識別技術將應用在哪些領域

    人臉識別技術是一種基于人臉特征信息進行身份識別的生物識別技術。隨著科技的發(fā)展,人臉
    的頭像 發(fā)表于 07-04 09:24 ?1282次閱讀

    人臉識別技術的原理介紹

    人臉識別技術是一種基于人臉特征信息進行身份識別的生物識別技術。它通過分析人臉圖像,提取
    的頭像 發(fā)表于 07-04 09:22 ?754次閱讀

    如何設計人臉識別的神經(jīng)網(wǎng)絡

    人臉識別技術是一種基于人臉特征信息進行身份識別的技術,廣泛應用于安全監(jiān)控、身份認證、智能門禁等領域。神經(jīng)網(wǎng)絡是實現(xiàn)人臉
    的頭像 發(fā)表于 07-04 09:20 ?350次閱讀

    人臉識別模型訓練是什么意思

    人臉識別模型訓練是指通過大量的人臉數(shù)據(jù),使用機器學習或深度學習算法,訓練出一個能夠識別和分類人臉的模型。這個模型可以應用于各種場景,如安防監(jiān)
    的頭像 發(fā)表于 07-04 09:16 ?338次閱讀

    人臉檢測和人臉識別的區(qū)別是什么

    檢測和人臉識別的區(qū)別。 定義 人臉檢測是指在圖像或視頻中快速準確地找到人臉的位置,并將其從背景中分離出來的技術。人臉檢測的目的是確定圖像中是
    的頭像 發(fā)表于 07-03 14:49 ?523次閱讀

    人臉檢測與識別的方法有哪些

    人臉檢測與識別是計算機視覺領域中的一個重要研究方向,具有廣泛的應用前景,如安全監(jiān)控、身份認證、智能視頻分析等。本文將詳細介紹人臉檢測與識別的方法。 引言
    的頭像 發(fā)表于 07-03 14:45 ?480次閱讀

    請問esp who人臉識別的臉部信息如何保存在sd卡中?

    esp who人臉識別的臉部信息如何保存在sd卡中?
    發(fā)表于 06-28 08:09

    人臉識別終端 10寸人臉

    終端人臉識別
    深圳市遠景達物聯(lián)網(wǎng)技術有限公司
    發(fā)布于 :2024年04月22日 16:01:46

    人臉識別技術的原理是什么 人臉識別技術的特點有哪些

    人臉檢測是人臉識別的首要步驟。其目標是在圖像或視頻中準確地定位人臉的位置。人臉檢測算法常用的方法有基于特征的方法、基于統(tǒng)計的方法和基于神經(jīng)
    的頭像 發(fā)表于 02-18 13:52 ?1147次閱讀

    【飛騰派4G版免費試用】飛騰派SeetafaceEngine人臉檢測

    收到個飛騰派,周末有空玩玩。。。 Seetaface是2016年中科院老師開源的的人臉識別引擎。https://github.com/seetaface/SeetaFaceEngine 源碼
    發(fā)表于 12-18 10:53

    人臉識別依然火熱,AI技術進化帶來全新挑戰(zhàn)

    電子發(fā)燒友網(wǎng)報道(文/李彎彎)人臉識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術。用攝像機或攝像頭采集含有人臉的圖像或視頻流,并
    的頭像 發(fā)表于 10-28 01:34 ?2345次閱讀
    <b class='flag-5'>人臉</b><b class='flag-5'>識別</b>依然火熱,AI技術進化帶來全新挑戰(zhàn)

    Android系統(tǒng)下OpenCV人臉檢測模塊的設計

    電子發(fā)燒友網(wǎng)站提供《Android系統(tǒng)下OpenCV人臉檢測模塊的設計.pdf》資料免費下載
    發(fā)表于 10-23 09:37 ?0次下載
    Android系統(tǒng)下<b class='flag-5'>OpenCV</b>的<b class='flag-5'>人臉</b>檢測模塊的設計