色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

使用Raspberry Pi構建一個OpenCV人群計數裝置

科技觀察員 ? 來源:circuitdigest ? 作者:Ashish Choudhary ? 2022-08-12 17:24 ? 次閱讀

在當今尖端技術的世界中,數字圖像處理發展非常迅速,并成為許多數字設備的重要組成部分,如手機、安全攝像頭、筆記本電腦等。

數字圖像處理最常見的應用是對象檢測、人臉識別和人數統計。所以在本教程中,我們將使用 Raspberry Pi 和 ThingSpeak 構建一個 OpenCV 人群計數。在這里,pi 相機模塊將用于連續捕獲幀,然后將這些幀用HOG(面向直方圖的對象描述符)處理以檢測圖像中的對象。在此之后,這些幀將與 OpenCV 的預訓練模型進行比較以進行人員檢測。人數統計將顯示在 ThingSpeak 頻道上,可以從世界任何地方進行監控。

所需組件

硬件

樹莓派 3(任何版本)

派相機

軟件和在線服務

物語

Python3.0

開放CV3.0

在樹莓派中安裝 OpenCV

這里將使用 OpenCV 庫來檢測人群。要安裝 OpenCV,首先,更新 Raspberry Pi。

sudo apt-get 更新

然后安裝在 Raspberry Pi 上安裝 OpenCV 所需的依賴項。

sudo apt-get install libhdf5-dev -y 
sudo apt-get install libhdf5-serial-dev –y 
sudo apt-get install libatlas-base-dev –y 
sudo apt-get install libjasper-dev -y 
sudo apt-get install libqtgui4 –y 
sudo apt-get install libqt4-test –y

之后,使用以下命令在 Raspberry Pi 中安裝 OpenCV。

pip3 安裝 opencv-contrib-python==4.1.0.25

安裝其他必需的軟件包

在對 Raspberry Pi 進行人群計數編程之前,讓我們安裝其他所需的軟件包。

安裝imutils: imutils 用于執行一些必要的圖像處理功能,例如平移、旋轉、調整大小、骨架化,以及使用 OpenCV 更輕松地顯示 Matplotlib 圖像。因此,使用以下命令安裝imutils :

pip3 安裝 imutils

matplotlib:之后,安裝matplotlib庫。Matplotlib是一個綜合庫,用于在 Python 中創建靜態、動畫和交互式可視化。

pip3 安裝 matplotlib

人數統計的 ThingSpeak 設置

ThingSpeak 是一個非常流行的物聯網平臺,通過使用 ThingSpeak 平臺,我們可以從任何地方通過互聯網監控我們的數據。

poYBAGL2G9yANWtYAAV_QsSAwLY168.png

單擊 Sing up 并輸入您的詳細信息

pYYBAGL2G9mAP_F6AACTVJwX4vg481.png

在此之后,驗證您的電子郵件 ID,然后單擊繼續。

現在,登錄后,單擊“新建頻道”按鈕創建一個新頻道。

poYBAGL2G9WAY40aAABNZul2bSk502.png

單擊“新頻道”后,輸入您要在此頻道上上傳的數據的名稱和描述。在這里,我們創建了一個名為People的字段。可根據需要創建多個字段。

在此之后,單擊保存頻道按鈕以保存詳細信息。

要將數據發送到 ThingSpeak,請在 Python 腳本中輸入 API 密鑰和通道 ID,然后復制 API 密鑰和通道 ID。

pYYBAGL2G9GAQGFpAADkpq1TYpw824.png

硬件設置

在這里,我們只需要 Raspberry Pi 和 Pi 相機來完成這個OpenCV 人員計數項目,您只需將相機帶狀連接器連接到 Raspberry pi 中提供的相機插槽中

pYYBAGL2G82AfjJ3AAWsaCyClac229.png

Pi 攝像頭可用于構建各種有趣的項目,如Raspberry Pi 監控攝像頭、訪客監控系統、家庭安全系統等。

人員計數器的Python程序說明

此人群計數 OpenCV 項目的完整 Python 代碼在頁面末尾給出。在這里,我們將解釋代碼的重要部分,以便更好地解釋。

因此,在代碼開始時,導入將在此項目中使用的所有必需庫。

導入簡歷2
導入 imutils
從 imutils.object_detection 導入 non_max_suppression
將 numpy 導入為 np
導入請求
進口時間
導入base64
從 matplotlib 導入 pyplot 作為 plt
從 urllib.request 導入 urlopen?

導入庫后,輸入 ThingSpeak 頻道 ID 并寫入您之前復制的 API 密鑰。

channel_id = 812060 # 在此處輸入頻道 ID
WRITE_API = 'X5AQ3EGIKMBYW31H' # 把你的寫密鑰放在這里
BASE_URL = "https://api.thingspeak.com/update?api_key= {}".format(WRITE_API)

現在,初始化 HOG(面向直方圖的對象描述符)。HOG 是最流行的目標檢測技術之一,并已在多個應用中使用。cv2.HOGDescriptor_getDefaultPeopleDetector()用于調用 OpenCV 的預訓練模型進行人員檢測。我們之前在之前的 OpenCV 教程中詳細解釋過 HOG 。

豬 = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())

在檢測器()內部,Pi 接收到一個 RGB 圖像,該圖像被分成三個顏色通道。之后,它使用imutils調整圖像大小。然后它調用detectMultiScale()方法來分析圖像,使用 SVM 模型的分類結果來了解是否存在人。

def檢測器(圖像):
   image = imutils.resize(image, width=min(400, image.shape[1]))
   克隆 = image.copy()
   rects, weights = hog.detectMultiScale(image, winStride=(4, 4), padding=(8, 8), scale=1.05)

有時捕獲框重疊并產生誤報或檢測錯誤,因此下面的代碼將imutils的非最大抑制應用于啟動重疊框。

對于矩形中的 (x, y, w, h):
       cv2.rectangle(圖像, (x, y), (x + w, y + h), (0, 0, 255), 2)
   rects = np.array([[x, y, x + w, y + h] for (x, y, w, h) in rects])
   結果 = non_max_suppression(rects,probs=None,overlapThresh=0.7)
   返回結果

在record()函數中,它使用 OpenCV 中的VideoCapture()方法直接從 Pi 相機中檢索圖像,使用 imultis 調整圖像大小并將結果發送到 ThingSpeak。

def 記錄(sample_time=5):
  相機 = cv2.VideoCapture(0)
frame = imutils.resize(frame, width=min(400, frame.shape[1]))
結果=檢測器(frame.copy())
thingspeakHttp = BASE_URL + "&field1={}".format(result1)

測試 OpenCV 人員計數器

在啟動 python 腳本之前,首先檢查您的 PI 相機是否工作。檢查相機后,通過發出以下命令啟動 python 腳本:

pYYBAGL2G8CAWupFAACo_jsQkhw829.png

然后你會發現彈出一個窗口,里面有你的視頻源。Pi 將獲取第一幀并使用 OpenCV 對其進行處理以檢測人數。如果它檢測到人,你會在它周圍找到一個像這樣的框:

poYBAGL2G72AHC-nAARnughj7DI503.png

現在檢查您的 ThingSpeak 頻道,您可以在其中監控來自世界任何地方的人群規模。

poYBAGL2G7iAQh3yAACs2ndMEHM194.png

導入簡歷2
導入 imutils
從 imutils.object_detection 導入 non_max_suppression
將 numpy 導入為 np
導入請求
進口時間
導入base64
從 matplotlib 導入 pyplot 作為 plt
從 urllib.request 導入 urlopen
channel_id = 812060 # 在此處輸入頻道 ID
WRITE_API = 'X5AQ3EGIKMBYW31H' # 把你的寫密鑰放在這里
BASE_URL = "https://api.thingspeak.com/update?api_key={}".format(WRITE_API)
豬 = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
# 在[3]:
def檢測器(圖像):
image = imutils.resize(image, width=min(400, image.shape[1]))
克隆 = image.copy()
rects, weights = hog.detectMultiScale(image, winStride=(4, 4), padding=(8, 8), scale=1.05)
對于矩形中的 (x, y, w, h):
cv2.rectangle(圖像, (x, y), (x + w, y + h), (0, 0, 255), 2)
rects = np.array([[x, y, x + w, y + h] for (x, y, w, h) in rects])
結果 = non_max_suppression(rects,probs=None,overlapThresh=0.7)
返回結果
def 記錄(sample_time=5):
打印(“錄音”)
相機 = cv2.VideoCapture(0)
初始化 = time.time()
# ubidots 樣本限制
如果 sample_time < 3:
采樣時間 = 1
而(真):
打印(“帽框”)
ret, frame = camera.read()
frame = imutils.resize(frame, width=min(400, frame.shape[1]))
結果=檢測器(frame.copy())
結果1 = len(結果)
打印(結果1)
對于 (xA, yA, xB, yB) 結果:
cv2.rectangle(frame, (xA, yA), (xB, yB), (0, 255, 0), 2)
plt.imshow(幀)
plt.show()
# 發送結果
如果 time.time() - init >= sample_time:
thingspeakHttp = BASE_URL + "&field1={}".format(result1)
打印(thingspeakHttp)
conn = urlopen(thingspeakHttp)
print("發送結果")
初始化 = time.time()
相機.release()
cv2.destroyAllWindows()
# 在[7]:
定義主():
記錄()
# 在[8]:
如果 __name__ == '__main__':
主要的()

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

    關注

    32

    文章

    2256

    瀏覽量

    94477
  • OpenCV
    +關注

    關注

    31

    文章

    634

    瀏覽量

    41337
收藏 人收藏

    評論

    相關推薦

    如何使用Raspberry Pi3和藍牙構建遙控汽車

    今天我們將使用Raspberry Pi 3和藍牙構建遙控汽車,在這里我們將使用智能手機作為遙控器來控制汽車。
    的頭像 發表于 11-21 17:14 ?2572次閱讀
    如何使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>3和藍牙<b class='flag-5'>構建</b>遙控汽車

    Raspberry Pi擴展板

    描述clumsyMIDI - 樹莓派擴展板 Raspberry Pi 擴展板,包含 MI
    發表于 07-29 06:12

    構建Raspberry Pi電機驅動器HAT的教程分享

    本教程中,我們將構建Raspberry Pi 電機驅動器 HAT來驅動直流和步進電機。此電機驅動器 HAT 包含
    發表于 08-05 16:20 ?1450次閱讀
    <b class='flag-5'>構建</b><b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>電機驅動器HAT的教程分享

    如何使用OpenCVRaspberry Pi構建睡眠感應和警報系統

    在這個項目中,我們將使用 Raspberry PiOpenCVPi 攝像頭模塊為駕駛員構建睡眠感應和警報系統。該系統的基本目的是跟蹤
    發表于 08-09 17:07 ?730次閱讀
    如何使用<b class='flag-5'>OpenCV</b>和<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>構建</b>睡眠感應和警報系統

    構建基于Raspberry Pi的藍牙揚聲器

     在這篇文章中,我們將通過融合 A2DP、Linux 和音頻編解碼器的強大功能來構建基于 Raspberry Pi 的藍牙揚聲器,以將數據包從音頻源無線傳輸到音頻接收器。為此,我們將破解
    發表于 08-31 16:22 ?2021次閱讀
    <b class='flag-5'>構建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的藍牙揚聲器

    Raspberry Pi上安裝Android的方法

    Raspberry Pi 中使用的流行操作系統是 Raspbian,它是基于 linux 的 Raspberry
    的頭像 發表于 09-05 15:10 ?1.9w次閱讀
    在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上安裝Android的方法

    使用Raspberry Pi上的OpenCV構建人臉識別系統

    在本教程中,我們將學習如何使用 Raspberry Pi 上的 OpenCV構建我們自己的人臉識別系統。將此系統安裝在便攜式 Raspberry
    發表于 09-07 15:48 ?1204次閱讀
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上的<b class='flag-5'>OpenCV</b>庫<b class='flag-5'>構建</b>人臉識別系統

    使用Raspberry Pi構建智能車庫開門器

    在本教程中,我們將使用 Raspberry Pi 構建智能車庫開門器。這里將創建
    的頭像 發表于 09-07 15:54 ?2166次閱讀
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>構建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>智能車庫開門器

    如何在Raspberry Pi 3上安裝OpenCV4庫

    今天我們將學習如何在 Raspberry Pi 3 上安裝 OpenCV4 庫,以便我們可以將其用于計算機視覺應用程序。這將允許 OpenCV 在像
    的頭像 發表于 09-08 16:09 ?1593次閱讀
    如何在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 3上安裝<b class='flag-5'>OpenCV</b>4庫

    使用Raspberry Pi構建水位傳感器

    電子發燒友網站提供《使用Raspberry Pi構建水位傳感器.zip》資料免費下載
    發表于 10-28 16:08 ?0次下載
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>構建</b>水位傳感器

    構建自己的Raspberry Pi ALPR停車系統

    電子發燒友網站提供《構建自己的Raspberry Pi ALPR停車系統.zip》資料免費下載
    發表于 11-08 11:14 ?0次下載
    <b class='flag-5'>構建</b>自己的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> ALPR停車系統

    Raspberry Pi Zero便攜終端的構建

    電子發燒友網站提供《Raspberry Pi Zero便攜終端的構建.zip》資料免費下載
    發表于 01-05 10:43 ?0次下載
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Zero便攜終端的<b class='flag-5'>構建</b>

    尋找實用的Raspberry Pi項目? 制作智能傘架!

    本教程將分步指導您如何制作智能傘架。這是我最喜歡的Raspberry Pi 項目之
    的頭像 發表于 02-24 17:22 ?989次閱讀
    尋找實用的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>項目? 制作<b class='flag-5'>一</b><b class='flag-5'>個</b>智能傘架!

    Raspberry Pi構建復古風格終端

    電子發燒友網站提供《Raspberry Pi構建復古風格終端.zip》資料免費下載
    發表于 07-11 11:41 ?0次下載
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>構建</b>復古風格終端

    使用Raspberry Pi構建網絡攝像頭

    電子發燒友網站提供《使用Raspberry Pi構建網絡攝像頭.zip》資料免費下載
    發表于 07-12 11:30 ?0次下載
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>構建</b>網絡攝像頭
    主站蜘蛛池模板: 日本吃孕妇奶水免费观看| 国产精品99久久久久久WWW| 97 sese| 中文字幕无码乱人伦蜜桃| 一个人视频日本在线观看| 在线亚洲国产日韩欧洲专区| 7777色鬼xxxx欧美色夫| ASIAN大陆明星裸休合成PICS| 艳鉧动漫1~6全集观看在线| 激情欧美日韩一区二区| 交video| 玖玖热视频一区二区人妻| 青青视频国产色偷偷| 亚洲高清毛片一区二区| 97视频免费在线观看| 国产精品99AV在线观看| 老熟人老女人国产老太| 神马电影我不卡国语版| 76人遣返航班上71人呈阳性| 国产伦精品一区二区三区免费观看| 久久综合色悠悠| 亚洲AV福利天堂一区二区三| YIN荡的老师系列第6部分视频| 精品熟女少妇AV久久免费A片| 色多多旧版污污破解版| 2018年免费三级av观看| 国产在线高清视频无码| 日本高清加勒比| 337p欧洲亚大胆精品| 国内精品久久久久久西瓜色吧| 青青草原国产在线| 中俄两军在日本海等上空战略巡航| 国产精品欧美久久久久天天影视 | 色久悠悠无码偷拍自怕| 91精品视频网站| 黄色888| 午夜一区二区三区| 成年人视频在线免费观看| 蜜芽在线播放免费人成日韩视频| 亚洲欧美精品无码大片在线观看 | se01短视频在线观看|