大家好,今天介紹的是我們的老朋友,基于全志T507-H處理器開發(fā)的MYD-YT507H開發(fā)板。本期視頻已經(jīng)在某站獲得了23W+的播放(截至3月29日)。
本期的MYD-YT507H開發(fā)板應(yīng)用操作由 VeriMake的實習(xí)生,來自帝國理工的同學(xué)完成。
MYD-YT507H開發(fā)板由米爾電子于2022年推出和銷售,搭載了全志的車規(guī)級T507-H處理器,具有超高性能和豐富的外設(shè)資源,是優(yōu)秀的國產(chǎn)工業(yè)CPU平臺。
屏蔽罩下的是全志的T507-H處理器:
集成四核Cortex–A53,主頻1.5GHz,符合汽車AEC-Q100測試要求;
支持4K視頻編解碼;
支持LVDS、HDMI、RGB以及CVBS四種顯示輸出接口;
支持雙屏同顯、雙屏異顯,支持MIPI CSI 、DVP攝像頭輸入;提供流暢的用戶體驗和專業(yè)的視覺效果。
搭載的1GB DDR4內(nèi)存與8GB eMMC;
開發(fā)板擁有豐富的外設(shè)擴(kuò)展:SD卡槽、持雙路網(wǎng)口,4個USB2.0接口,1個SPI,2個SDIO;
工業(yè)級板卡的工作溫度范圍為-40℃ - +85℃;
核心板為郵票孔設(shè)計。
這款基于全志T507-H處理器開發(fā)的開發(fā)板及核心板,可廣泛應(yīng)用于電力物聯(lián)網(wǎng)、汽車電子、商業(yè)顯示、工業(yè)控制、醫(yī)療器械、智能終端等領(lǐng)域。
MYC-YT507H核心板及開發(fā)板的軟件資料也非常豐富,包含但不限于U-boot、Linux、所有外設(shè)驅(qū)動源碼和相關(guān)開發(fā)工具。文檔資料包含產(chǎn)品手冊、硬件用戶手冊、硬件設(shè)計指南、底板PDF原理圖、Linux軟件評估和開發(fā)指南等相關(guān)資料,能夠有效幫助開發(fā)者提高開發(fā)效率、縮短開發(fā)周期,加快產(chǎn)品研發(fā)和上市時間。
接下來我們就用這塊開發(fā)板做一個簡單的基于圖像傳輸?shù)娜四樧R別小應(yīng)用吧。這個案例全部用python開發(fā),實際代碼不超過50行,是比較好入門的。本次評測我們會嘗試無線圖傳功能,并且疊加人臉識別檢測視頻中是否存在人臉。
這次測試使用的是USB攝像頭,可以直接接在開發(fā)板的接口上。
01.
連接攝像頭
連接好攝像頭后使用指令dmesg,看到能讀取到攝像頭。顯示為HIK 720p Camera
接下來使用v4l來檢測相機(jī)的詳細(xì)參數(shù)。
安裝v4l:sudo apt install v4l-utils使用sudo v4l2-ctl --list-devices查看詳細(xì)信息與設(shè)備號
02.
使用OpenCV進(jìn)行人臉識別
這里使用的識別程序借鑒了這個CSDN博主的代碼https://blog.csdn.net/qianbin3200896/article/details/123643791
在開始之前,先安裝幾個庫:
sudo apt update完成更新
sudo apt install python3-opencv
pip3 install --upgrade pip
pip3 install zmq
pip3 install pybase64
首先在開發(fā)板上運行如下程序,讀取攝像頭數(shù)據(jù)并將數(shù)據(jù)發(fā)送至PC。
import cv2import zmqimport base64
def main(): ''' 主函數(shù) ''' IP = '192.168.2.240' #上位機(jī)視頻接受端的IP地址
# 創(chuàng)建并設(shè)置視頻捕獲對象 cap = cv2.VideoCapture(0) print("open? {}".format(cap.isOpened())) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 320) # 設(shè)置圖像寬度 cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 240) # 設(shè)置圖像高度
# 建立TCP通信協(xié)議 contest = zmq.Context() footage_socket = contest.socket(zmq.PAIR) footage_socket.connect('tcp://%s:5555'%IP)
接著需要在PC上接收開發(fā)板傳來的信息,將視頻分為一幀幀的內(nèi)容分別存儲和處理。當(dāng)識別到人臉時會用紅框圈出。
打開anaconda prompt運行如下內(nèi)容
import cv2import zmqimport base64import numpy as np
def main(): ''' 主函數(shù) ''' context = zmq.Context() footage_socket = context.socket(zmq.PAIR) footage_socket.bind('tcp://*:5555') cv2.namedWindow('Stream',flags=cv2.WINDOW_NORMAL | cv2.WINDOW_KEEPRATIO)
while True: print("監(jiān)聽中") frame = footage_socket.recv_string() #接收TCP傳輸過來的一幀視頻圖像數(shù)據(jù) img = base64.b64decode(frame) #把數(shù)據(jù)進(jìn)行base64解碼后儲存到內(nèi)存img變量中 npimg = np.frombuffer(img, dtype=np.uint8) #把這段緩存解碼成一維數(shù)組 source = cv2.imdecode(npimg, 1) #將一維數(shù)組解碼為圖像source # img=cv2.imread('1.png',1) grayimg = cv2.cvtColor(source, cv2.COLOR_BGR2GRAY) face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') faces = face_cascade.detectMultiScale(grayimg, 1.2, 5) for (x, y, w, h) in faces: cv2.rectangle(source, (x, y), (x + w, y + h), (0, 0, 255), 2) cv2.imshow('frame', source) if cv2.waitKey(1) == ord('q'): capture.release() break
if __name__ == '__main__': ''' 程序入口 ''' main()
正常工作時會一直print監(jiān)聽中。
此時可以在pc上彈出的窗口中看到攝像頭畫面,有人臉出現(xiàn)也能自動識別。不過存在一定的延遲。
-
處理器
+關(guān)注
關(guān)注
68文章
19312瀏覽量
230025 -
人臉識別
+關(guān)注
關(guān)注
76文章
4012瀏覽量
81957 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84744
發(fā)布評論請先 登錄
相關(guān)推薦
評論