女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內(nèi)不再提示

基于RV1126開發(fā)板實(shí)現(xiàn)人臉識(shí)別門禁系統(tǒng)解決方案

廣州靈眸科技有限公司 ? 2025-04-18 16:23 ? 次閱讀

1. 方案簡(jiǎn)介

本方案為類人臉門禁機(jī)的產(chǎn)品級(jí)解決方案,已為用戶構(gòu)建一個(gè)帶調(diào)度框架的UI應(yīng)用工程;準(zhǔn)備好我司的easyeai-api鏈接調(diào)用;準(zhǔn)備好UI的開發(fā)環(huán)境。具備低模塊耦合度的特點(diǎn)。其目的在于方便用戶快速拓展自定義的業(yè)務(wù)功能模塊,以及快速更換UI皮膚。

2. 快速上手

2.1 開發(fā)環(huán)境準(zhǔn)備

如果您初次閱讀此文檔,請(qǐng)閱讀《入門指南/開發(fā)環(huán)境準(zhǔn)備/Easy-Eai編譯環(huán)境準(zhǔn)備與更新》,并按照其相關(guān)的操作,進(jìn)行編譯環(huán)境的部署

在PC端Ubuntu系統(tǒng)中執(zhí)行run腳本,進(jìn)入EASY-EAI編譯環(huán)境,具體如下所示。

cd ~/develop_environment ./run.sh

wKgZPGgB7g2AdudVAACbrHAYX20640.png

2.2 源碼下載以及實(shí)例編譯

在EASY-EAI編譯環(huán)境下創(chuàng)建存放源碼倉(cāng)庫(kù)的管理目錄:

cd /opt mkdir EASY-EAI-Toolkit cd EASY-EAI-Toolkit

通過git工具,在管理目錄內(nèi)克隆遠(yuǎn)程倉(cāng)庫(kù)

git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-C-UiSolution.git

wKgZPGgCCDWAdAe7AACoqEPCFG0761.png

注:

* 此處可能會(huì)因網(wǎng)絡(luò)原因造成卡頓,請(qǐng)耐心等待。

* 如果實(shí)在要在gitHub網(wǎng)頁上下載,也要把整個(gè)倉(cāng)庫(kù)下載下來,不能單獨(dú)下載本實(shí)例對(duì)應(yīng)的目錄。

進(jìn)入到對(duì)應(yīng)的例程目錄執(zhí)行編譯操作,具體命令如下所示:

cd EASY-EAI-Toolkit-C-UiSolution/qSolu-facialGate/ ./build.sh

注:

* 由于依賴庫(kù)部署在板卡上,因此交叉編譯過程中必須保持adb連接。

wKgZO2gCDAKAWYjLAALp1-Z88Vw668.pngwKgZPGgCDAGAPYnTAAEeI1kCncI855.png

2.3 模型獲取

【百度網(wǎng)盤】

鏈接:https://pan.baidu.com/s/1mrhVHxHWJ8cY9Fl9k5KtYg

提取碼:0k7j

wKgZO2gCDAGAcF5UAAAhBlPPMfo713.png

本方案用到兩個(gè)模型:face_detect.model和face_recognition.model

直接把模型下載到本地Windows主機(jī),復(fù)制

wKgZPGgCDAGAIeb0AABB9hmHzcs346.png

進(jìn)入PC端Ubuntu創(chuàng)建存放model目錄:

cd /opt mkdir model

wKgZO2gCDAGAaphGAAAejyLG8yc672.png

然后把模型從本地Windows主機(jī)粘貼到PC端Ubuntu中:

wKgZPGgCDAKAW6TTAAHViRDZHOE155.pngwKgZPGgCDAKAeZdaAADEjwtPVgc601.png

2.4 方案部署

使用下方命令再次回到開發(fā)實(shí)例目錄

cd /opt/EASY-EAI-Toolkit-C-UiSolution/qSolu-facialGate/

然后,通過執(zhí)行以下命令,將編譯結(jié)果手動(dòng)部署到板卡中。

cp Release/qSolu-* /mnt/userdata/apps/facialGate cp QResource/audio -r /mnt/userdata/apps/facialGate

最后,將準(zhǔn)備好的模型部署到板卡中(注意:模型要放到編譯結(jié)果的同一目錄中),執(zhí)行命令如下所示。

cp /opt/model/face_detect.model /mnt/userdata/apps/facialGate cp /opt/model/face_recognition.model /mnt/userdata/apps/facialGate

2.5 示例方案運(yùn)行

通過按鍵Ctrl+Shift+T創(chuàng)建一個(gè)新窗口,執(zhí)行adb shell命令,進(jìn)入板卡運(yùn)行環(huán)境。

adb shell

wKgZO2gCCDWAfU1yAACOVQLk9o8187.png

進(jìn)入板卡后,定位到例程部署的位置:

cd /userdata/apps/facialGate

運(yùn)行例程命令如下所示:

./qSolu-facialGate

2.6 運(yùn)行效果

運(yùn)行打印:

wKgZO2gCDAKAL4hwAALMGrRWYLM172.png

液晶顯示屏上會(huì)顯示如下畫面:

點(diǎn)擊“歡迎”按鈕,可以呼出或者關(guān)閉鍵盤。

在對(duì)準(zhǔn)攝像頭時(shí),點(diǎn)擊注冊(cè),即可完成人臉錄入,錄入后回到待機(jī)頁面。

當(dāng)用戶再次對(duì)準(zhǔn)攝像頭,即可識(shí)別相關(guān)的用戶信息

3. QtCreator配置

3.1 運(yùn)行qtcreator

在EASY-EAI編譯環(huán)境中的任意位置,通過下方命令,后臺(tái)打開qtcreator:

qtcreator &

wKgZPGgCCDaAA-t0AAA1KcFr9V8019.png

注:若虛擬機(jī)配置較低,打開qtcreator可能要等待10幾秒。

3.2 打開Qt工程

wKgZO2gCDAOAGYpfAANb4dNtZ6I966.pngwKgZPGgCDAOAEM5iAAGEq93VZN0244.png

3.3 配置遠(yuǎn)程調(diào)試參數(shù)

wKgZPGgCDAOAT112AAIwUHtS7BE415.png

注:進(jìn)行遠(yuǎn)程調(diào)試前,首先要用build.sh腳本把相關(guān)的資源拷貝到【開發(fā)板】相對(duì)應(yīng)的目錄上,否則會(huì)因缺少文件導(dǎo)致運(yùn)行異常。

3.4 遠(yuǎn)程運(yùn)行Qt應(yīng)用

wKgZPGgCDAOABdJ_AAHZXx7WMUY156.png

3.5 調(diào)試打印輸出&遠(yuǎn)程停止應(yīng)用進(jìn)程

wKgZO2gCDAOAXqqnAAIV1vQFhEU592.png

3.6 修改應(yīng)用編譯輸出位置

wKgZO2gCDAOAcPCFAAHgW-u-rc4419.png

注:任何修改*.pro或者*.pri的操作,都要clean掉Makefile后,再重新編譯。

4. 設(shè)計(jì)講解

本章節(jié)側(cè)重于講解代碼組織架構(gòu),以便于對(duì)代碼的輔助閱讀和理解,因此不涉及具體的操作指導(dǎo)和詳盡的代碼內(nèi)容解析。若需要進(jìn)行上手操作的調(diào)試和開發(fā),可直接參考“開發(fā)指南”章節(jié)。

4.1 設(shè)計(jì)目的

本方案為產(chǎn)品級(jí)別的解決方案,需要調(diào)度種類繁多的各種資源,而且為了應(yīng)對(duì)不同用戶各自豐富多樣的需求,則需要對(duì)功能模塊進(jìn)行解耦。故而針對(duì)該種情況設(shè)計(jì)了一套模塊調(diào)度框架。

4.2 模塊靜態(tài)關(guān)系

框架概覽 & 源碼目錄分布

wKgZPGgCDAOAV_tLAAE-7pkc0qU465.png

源碼目錄說明:

組件子目錄描述
QSrcCode/business/應(yīng)用框架的核心代碼,用于實(shí)現(xiàn)、創(chuàng)建、各個(gè)業(yè)務(wù)功能模塊,以及協(xié)調(diào)各模塊間的相互調(diào)度。
QSrcCode/ui/構(gòu)建界面相關(guān)的代碼,用于描述頁面的布局與顯示。
QSrcCode/common/用戶的自定義代碼,也可以是存放和管理第三方代碼。
QSrcCode/apiWrapper/若easyeai-api的代碼不能完全滿足產(chǎn)品要求,用戶可以在此目錄對(duì)easyeai-api進(jìn)行抽象再封裝。

4.3 模塊動(dòng)態(tài)交互

模板間的交互分為兩種,一種是非界面模塊間的交互,另一種是界面模塊間的交互。

4.3.1 非界面模塊之間的交互

非界面模塊間的交互,其特點(diǎn)是通過“應(yīng)用調(diào)度器”進(jìn)行相互調(diào)度。

wKgZO2gCDAOAeCoOAAFYVQoiTOo713.png

4.3.2 界面間的模塊交互

界面模塊間的交互,應(yīng)用了信號(hào)槽和事件機(jī)制,該種機(jī)制也是Qt為了去耦合而進(jìn)行的針對(duì)性設(shè)計(jì)。而且Qt規(guī)定,非gui線程不能操作gui線程,因此從UIManager(非界面)到mainWidget(界面)的調(diào)用操作,也必須通過信號(hào)槽來完成。

wKgZPGgCDAOAMePtAAB_VN_QjSQ965.png

4.4 模塊設(shè)計(jì)細(xì)節(jié)

4.4.1 應(yīng)用調(diào)度器

wKgZPGgCDASABe3OAABwcSSbai4190.png

EASY-EAI-Toolkit-C-UiSolution/qSolu-facialGate/QSrcCode/ui/main.cpp是程序入口,應(yīng)用調(diào)度器在此處被創(chuàng)建,是本程序首個(gè)被創(chuàng)建的對(duì)象,具體代碼如下所示:

AppScheduler App;

應(yīng)用調(diào)度器類的構(gòu)成與功能:

class AppScheduler { public: AppScheduler(); ~AppScheduler(); int PosDataTo(Modeler mod, void *pData); private: int InitBusinessModel(); int Register(Modeler mod, BusinessCB pCBFunc); int UnRegister(Modeler mod); std::map m_BusinessModel; };

wKgZO2gCDASAZlwTAACdmGW47Mc899.png

應(yīng)用調(diào)度器實(shí)質(zhì)上是一個(gè)回調(diào)函數(shù)映射表,在創(chuàng)建基礎(chǔ)業(yè)務(wù)功能塊時(shí),需要把業(yè)務(wù)功能塊的回調(diào)函數(shù)注冊(cè)到應(yīng)用調(diào)度器的映射中(具體的注冊(cè)代碼,會(huì)在“開發(fā)指南”章節(jié)中的“添加一個(gè)新的業(yè)務(wù)功能模塊”涉及)。

4.4.2 基礎(chǔ)業(yè)務(wù)功能塊

wKgZPGgCDASAI3c7AABw56-iuEo936.png

所有的業(yè)務(wù)功能塊,都要繼承于基礎(chǔ)業(yè)務(wù)功能塊(BaseModel。應(yīng)用調(diào)度器是各個(gè)BaseModel實(shí)例化對(duì)象之間的橋梁。

wKgZO2gCDASADGeWAABPmCyml40782.png

BaseModel源碼位于:

EASY-EAI-Toolkit-C-UiSolution/qSolu-facialGate/QSrcCode/business/basemodel.cpp

EASY-EAI-Toolkit-C-UiSolution/qSolu-facialGate/QSrcCode/business/basemodel.h

class BaseModel { public: explicit BaseModel(); ~BaseModel(); int SetScheduler(AppScheduler *pScheduler); /// 輸出>>>>: 向其他模塊輸出數(shù)據(jù) virtual int SendDataToDataAnnouncement(int cmdType, int dataLen, void *data); virtual int SendDataToDataBase(int cmdType, int dataLen, void *data); virtual int SendDataToMainThread(int cmdType, int dataLen, void *data); virtual int SendDataToMsgAdapter(int cmdType, int dataLen, void *data); virtual int SendDataToUI(int tagPage, int cmdType, int dataLen, void *data); private: int SendDataTo(Modeler mod, void *pData); AppScheduler *m_pScheduler; };

BaseModel在初始化時(shí)通過SetScheduler方法向子模塊綁定應(yīng)用調(diào)度器對(duì)象的指針。在程序交互的過程中通過調(diào)用SendDataTo方法向其他子模塊回調(diào)發(fā)送數(shù)據(jù)。

5. 開發(fā)指南

5.1 示例文件&目錄結(jié)構(gòu)

UiSolution git倉(cāng)庫(kù)僅會(huì)放置兩個(gè)解決方案。

一是最簡(jiǎn)潔的UI調(diào)用方案,用戶可以基于此方案,快速進(jìn)行需要帶界面交互的產(chǎn)品開發(fā)。

二是帶調(diào)度框架的UI應(yīng)用方案,該方案為類人臉門禁機(jī)的產(chǎn)品級(jí)解決方案,其特點(diǎn)是模塊之間的耦合度低,用戶可以快速拓展自定義的業(yè)務(wù)功能模塊,以及快速更換UI皮膚。

5.1.1 UiSolution git倉(cāng)庫(kù)目錄介紹。

UiSolution工程構(gòu)成如下所示,由功能組件easyeai-api和各個(gè)解決方案構(gòu)成。

wKgZPGgCCDaAfTugAACdDge0ZzM309.png

功能組件的描述如下所示,easyeai-api是經(jīng)過高度封裝的易用性組件接口,便于用戶直接調(diào)用板卡資源。

功能組件目錄組件子目錄描述
功能組件easyeai-apialgorithm_api算法組件
common_api通用組件
media_api多媒體組件
netProtocol_api網(wǎng)絡(luò)協(xié)議組件
peripheral_api外設(shè)硬件組件

解決方案的描述如下所示,單個(gè)“qSolu-”開頭的目錄即為一個(gè)解決方案案例,代碼內(nèi)調(diào)用“EASY EAI-API”來滿足某一實(shí)際應(yīng)用場(chǎng)景的需求。

功能工程目錄描述
解決方案qSolu-QDemo最簡(jiǎn)單的UI交互方案
qSolu-facialGate類人臉識(shí)別門禁機(jī)解決方案

5.1.2 qSolu-facialGate解決方案的目錄結(jié)構(gòu)

每個(gè)解決方案就是一個(gè)獨(dú)立的項(xiàng)目,facialGate項(xiàng)目?jī)?nèi)包含部分如下所示,項(xiàng)目使用qmake構(gòu)建自動(dòng)編譯部署。

wKgZPGgCDASAA7ROAAD5kkERya0606.png

具體介紹如下所示。

組成部分描述
build.sh編譯腳本,用于管理生成可執(zhí)行文件后的部署準(zhǔn)備工作,用戶可自定義shell命令。
qSolu-facialGate.pro工程管理文件,用于組織整個(gè)工程結(jié)構(gòu),指導(dǎo)qmake生成Makefile。
resource.qrc工程管理文件,用于組織管理貼圖資源,樣式表資源等。
api.pri工程管理文件,用于組織管理“對(duì)easyeai-api拓展封裝”子模塊相關(guān)源碼。
business.pri工程管理文件,用于組織管理“業(yè)務(wù)功能”子模塊相關(guān)源碼。
common.pri工程管理文件,用于組織管理“第三方”子模塊相關(guān)源碼。
ui.pri工程管理文件,用于組織管理“UI界面效果”相關(guān)源碼。
QResource用于存放貼圖資源,樣式表資源等。
QSrcCode用于存放工程源代碼。

5.2 *.pro和*.pri文件解析

5.2.1 *.pro文件:

第一部分為輸出配置,如下所示:

wKgZO2gCDASAKA-cAAAWq5Ahh3Q199.png

配置信息如下所示。

配置項(xiàng)描述
TARGET輸出文件名稱
TEMPLATE輸出文件類型,app為可執(zhí)行文件,lib為庫(kù)文件

第二部分為全局編譯選項(xiàng)配置,如下所示:

wKgZO2gCCDaACtDTAAA-4TzWU2M148.png

配置信息如下所示。

配置項(xiàng)描述
LIBS全局鏈接庫(kù),通常是本Ubuntu系統(tǒng)提供的庫(kù)
QMAKE_CXXFLAGS全局C++編譯參數(shù),可傳入一些宏或者C++編譯配置

第三部分為加載自定義子模塊,如下所示:

wKgZPGgCDASAG3a4AAAkk2AGdck926.png

第四部分為加載資源管理,如下所示:

wKgZPGgCCDeAKrpOAAAZv1RCaP4223.png

第五部分為指定文件輸出目錄,如下所示:

wKgZO2gCCDeAM110AAAav9Nq7jU349.png

5.2.2 api.pri文件:

本工程文件是對(duì)我司的功能組件庫(kù)的管理,若用戶有“對(duì)我司的功能組件庫(kù)進(jìn)行拓展封裝”的需求,則可通過本文件來管理。(針對(duì)當(dāng)前方案進(jìn)行:配置EASY EAI API頭文件目錄、庫(kù)文件目錄以及配置庫(kù)鏈接參數(shù)):

wKgZPGgCDAWAauJDAAJNIlUoM4o601.png

配置信息如下所示。

配置項(xiàng)描述
INCLUDEPATH向工程指定頭文件的查找路徑
LIBS指定對(duì)應(yīng)的easyeai-api庫(kù)文件以及其依賴的編譯參數(shù)
SOURCES向工程添加需要編譯的源文件
HEADERS向工程添加需要編譯的頭文件

5.2.3 business.pri文件:

本工程文件是具體的應(yīng)用業(yè)務(wù)功能管理,用戶封裝的業(yè)務(wù)功能模塊可放置此處進(jìn)行管理:

wKgZPGgCDASAQJrtAAB_I22XXig575.png

配置信息如下所示。

配置項(xiàng)描述
INCLUDEPATH向工程指定頭文件的查找路徑
SOURCES向工程添加需要編譯的源文件
HEADERS向工程添加需要編譯的頭文件

5.2.4 common.pri文件:

本工程文件是第三方的庫(kù)的配置(針對(duì)當(dāng)前方案進(jìn)行:配置第三方頭文件目錄、庫(kù)文件目錄、配置第三方庫(kù)鏈接參數(shù)以及配置源碼目錄):

wKgZO2gCDASAKDcyAAB710QvuMI174.png

配置信息如下所示。

配置項(xiàng)描述
INCLUDEPATH向工程指定頭文件的查找路徑
SOURCES向工程添加需要編譯的源文件
HEADERS向工程添加需要編譯的頭文件

5.2.5 ui.pri文件:

本工程文件是交互界面相關(guān)的源碼文件配置,內(nèi)容如下所示:

wKgZO2gCDASAEwi7AABqBWOh5R0855.png

配置項(xiàng)如下所示。

配置項(xiàng)描述
SOURCES向工程添加需要編譯的源文件
HEADERS向工程添加需要編譯的頭文件
FORMS向工程添加Qt設(shè)計(jì)師產(chǎn)生的界面文件

5.3 build.sh編譯腳本:

5.3.1 路徑定位部分

第一部分用于提取目錄用于編譯操作,內(nèi)容如下所示:(進(jìn)入build.sh腳本所在目錄,并且提取當(dāng)前目錄絕對(duì)路徑,提取當(dāng)前目錄名稱)

wKgZO2f2NzuAboIjAAArNYW9H20597.png

5.3.2 編譯參數(shù)部分

第二部分清除操作,清除目錄為Release,內(nèi)容如下所示:(執(zhí)行build.sh腳本時(shí),帶入了參數(shù)“clear”,則清空編譯輸出;帶入了參數(shù)“all”,則重新編譯)

wKgZPGgCCDeAAhN5AAA4lCwTIaM052.png

5.3.3 編譯操作

第三部分,編譯直接調(diào)用qmake,內(nèi)容如下所示:(重新編譯,并生成部署目錄)

wKgZO2gCCDeAF5v0AAA3dtRxJm8780.png

5.4 添加一個(gè)新的業(yè)務(wù)功能模塊:

以名字為“myModel”為例:

從工程目錄EASY-EAI-Toolkit-C-UiSolution/qSolu-facialGate切換到business目錄

cd QSrcCode/business/

5.4.1 創(chuàng)建model源碼文件

在business目錄下執(zhí)行:

mkdir myModel touch myModel/myModel.cpp touch myModel/myModel.h

wKgZPGgCDAWAX73IAAC2pjytAog343.png

在myModel.h中填入源代碼,具體操作為:

輸入命令:

vim myModel/myModel.h

wKgZO2gCDAWAQ5aUAAApc2A1bO8065.png

在vim環(huán)境下,按“i”后,開始輸入代碼:

#ifndef __MYMODEL_H__ #define __MYMODEL_H__ #include "business/basemodel.h" /* *說明:由于每個(gè)模塊都是一個(gè)單例對(duì)象,因此: * 1,只能通過調(diào)用MyModel::createMyModel()去創(chuàng)建。 * 2,除了示例展示的2處new以外,其它地方不能使用new MyModel 去創(chuàng)建,否則會(huì)引發(fā)程序崩潰 */ class MyModel : public BaseModel { public: explicit MyModel(); ~MyModel(); static MyModel *instance() { if(m_pSelf == NULL){ once_flag oc; call_once(oc, [&] { m_pSelf = new MyModel; }); } return m_pSelf; } static void createMyModel(); private: static MyModel *m_pSelf; }; #endif // __MYMODEL_H__

輸入代碼完畢后,依次按下“Esc鍵”、“:鍵”、“w鍵”、“q鍵”、“回車鍵”保存代碼。(注意:w、q是小寫)

同myModel.h的操作方法,對(duì)myModel.cpp填入代碼:

#include "system.h" #include "myModel.h" MyModel *MyModel::m_pSelf = NULL; /* *說明:本回調(diào)為“阻塞回調(diào)”。因此有以下注意事項(xiàng): * 1,返回值能夠直接在調(diào)用模塊中獲取。 * 2,通過修改輸入?yún)?shù)的指針指向的數(shù)據(jù),也能進(jìn)行數(shù)據(jù)取回。 * 3,若在此回調(diào)進(jìn)行阻塞操作,調(diào)用模塊也會(huì)被阻塞。 */ int MyModelCallback(void *data) { /*此回調(diào)處理其他模塊送入的消息*/ return 0; } MyModel::MyModel() { /*特別注意:不建議在構(gòu)造函數(shù)內(nèi)部使用跨模塊調(diào)度(m_pScheduler->PosDataTo(mod,data)),目標(biāo)業(yè)務(wù)模塊有可能未被注冊(cè)*/ } MyModel::~MyModel() { if(m_pSelf){ delete m_pSelf; m_pSelf = NULL; } } void MyModel::createMyModel() { if(m_pSelf == NULL){ once_flag oc; call_once(oc, [&] { m_pSelf = new MyModel; }); } }

5.4.2 修改business.pri文件

在business目錄下執(zhí)行命令:

vim business.pri

wKgZPGgCDAWAVO_XAABn6bEND-Q152.png

同myModel.h的操作方法,添加下圖所示兩行代碼:

wKgZPGgCDAWAfOtdAAD6u-BlQ6w983.png

保存退出:

:wq

5.4.3 修改bsprotocol.h文件

在business目錄下執(zhí)行命令:

vim bsprotocol.h

在模塊映射枚舉中,加入“MYMODEL”索引

wKgZO2gCDAWAOM4eAAAimGHcbXE348.png

保存退出:

:wq

5.4.4 修改appscheduler.cpp文件

在business目錄下執(zhí)行命令:

vim appscheduler.app

在appscheduler.cpp文件原有結(jié)構(gòu)基礎(chǔ)上,添加以下代碼:

新增模塊的頭文件:

#include "myModel/myModel.h"

新增模塊的回調(diào)函數(shù)聲明:

extern int MyModelCallback(void *data);

在AppScheduler中創(chuàng)建并注冊(cè)新增模塊:

MyModel::createMyModel(); MyModel::instance()->SetScheduler(this); Register(MYMODEL, MyModelCallback);

保存退出:

:wq

5.4.5 編譯與驗(yàn)證

回到工程目錄EASY-EAI-Toolkit-C-UiSolution/qSolu-facialGate中,執(zhí)行命令:

./build.sh all

結(jié)果為:編譯成功,且在Release目錄中生成有myModel.o文件。則說明“myModel”業(yè)務(wù)功能被成功添加

編譯成功截圖:

wKgZPGgCDAWALlI2AAIUva11iNI588.png

myModel.o截圖:

wKgZO2gCDAWAcT2XAABK35Z9BlE837.png

5.5 屏蔽某個(gè)業(yè)務(wù)模塊功能:

此操作為本應(yīng)用調(diào)度框架的核心設(shè)計(jì),若項(xiàng)目不需要某個(gè)功能。僅需在appscheduler.cpp的構(gòu)造函數(shù)中注釋掉其創(chuàng)建注冊(cè)即可。除此以外無須改動(dòng)任何代碼!因此本調(diào)度框架具備極強(qiáng)的靈活性以及低耦合度。

示例:

wKgZO2gCDAWAXyQ6AABEO5Jxreg984.png

↓↓↓↓↓

wKgZO2gCDAWAF8vXAABI038AumY016.png
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 門禁系統(tǒng)
    +關(guān)注

    關(guān)注

    17

    文章

    396

    瀏覽量

    46110
  • 人臉識(shí)別
    +關(guān)注

    關(guān)注

    76

    文章

    4069

    瀏覽量

    83653
  • rv1126
    +關(guān)注

    關(guān)注

    0

    文章

    106

    瀏覽量

    3345
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RV1126基于虹軟人臉識(shí)別算法實(shí)現(xiàn)指南

    1、RV1126基于虹軟人臉識(shí)別算法實(shí)現(xiàn)的示例使用教程示例(rkmedia_vi_arc_rtsp_test.cc) 使用 CORE-1126
    發(fā)表于 06-08 15:51

    RV1126開發(fā)板數(shù)據(jù)手冊(cè)

    本產(chǎn)品是基于瑞芯微 RV1126 媒體處理芯片開發(fā)的 IPC 開發(fā)板,分為核心板和底板, 且 RV1126RV1109 是 pin
    發(fā)表于 08-28 11:09 ?20次下載

    RV1126 實(shí)現(xiàn)人臉識(shí)別門禁系統(tǒng)解決方案

    RV1126實(shí)現(xiàn)人臉識(shí)別門禁系統(tǒng)解決方案
    的頭像 發(fā)表于 04-10 15:17 ?307次閱讀
    <b class='flag-5'>RV1126</b> <b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別</b><b class='flag-5'>門禁</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>解決方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)二維碼識(shí)別方案

    RV1126實(shí)現(xiàn)二維碼識(shí)別方案
    的頭像 發(fā)表于 04-11 14:48 ?188次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b>二維碼<b class='flag-5'>識(shí)別</b><b class='flag-5'>方案</b>

    RV1126 實(shí)現(xiàn)人臉檢測(cè)方案

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案,充分體現(xiàn)了電子方面的實(shí)踐經(jīng)驗(yàn)和目標(biāo)檢測(cè)技術(shù)。
    的頭像 發(fā)表于 04-14 09:25 ?180次閱讀
    <b class='flag-5'>RV1126</b> <b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>人臉</b>檢測(cè)<b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

    RV1126實(shí)現(xiàn)人臉檢測(cè):在圖像中找出人臉,以及每張人臉的landmarks位置。方案設(shè)計(jì)邏
    的頭像 發(fā)表于 04-18 16:47 ?277次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b><b class='flag-5'>人臉</b>檢測(cè)<b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)人員檢測(cè)方案

    RV1126開發(fā)板實(shí)現(xiàn)人員檢測(cè):在圖像中找出人。 方案設(shè)計(jì)邏輯流程圖,方案代碼分為分為兩個(gè)業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像,算法代碼負(fù)責(zé)人員檢測(cè)功能。
    的頭像 發(fā)表于 04-18 17:14 ?220次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b>人員檢測(cè)<b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉識(shí)別方案

    RV1126開發(fā)板實(shí)現(xiàn)人臉識(shí)別:在圖像中找出人臉,并與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),得出該人臉對(duì)應(yīng)的身份信息
    的頭像 發(fā)表于 04-18 16:55 ?83次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b><b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別</b><b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)駕駛員行為檢測(cè)方案

    RV1126開發(fā)板實(shí)現(xiàn)駕駛員行為檢測(cè):通過圖像識(shí)別出這幾種行為:打電話、抽煙、疲勞駕駛。
    的頭像 發(fā)表于 04-18 17:47 ?354次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b>駕駛員行為檢測(cè)<b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

    RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè):在圖像中找出人臉,以及每張人臉的landmarks位置。
    的頭像 發(fā)表于 04-21 10:21 ?99次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b><b class='flag-5'>人臉</b>檢測(cè)<b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉識(shí)別方案

    RV1126開發(fā)板實(shí)現(xiàn)人臉識(shí)別:在圖像中找出人臉,并與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),得出該
    的頭像 發(fā)表于 04-21 10:24 ?107次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b><b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別</b><b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉識(shí)別方案

    RV1126實(shí)現(xiàn)人臉識(shí)別:在圖像中找出人臉,并與數(shù)據(jù)庫(kù)進(jìn)行比對(duì),得出該人臉對(duì)應(yīng)的身份信息。
    的頭像 發(fā)表于 04-21 13:51 ?11次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b><b class='flag-5'>人臉</b><b class='flag-5'>識(shí)別</b><b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

    RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè):在圖像中找出人臉,以及每張人臉的landmarks位置。
    的頭像 發(fā)表于 04-21 14:00 ?13次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b><b class='flag-5'>人臉</b>檢測(cè)<b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)二維碼識(shí)別方案

    RV1126開發(fā)板實(shí)現(xiàn)方案設(shè)計(jì)邏輯流程圖,方案代碼分為兩個(gè)業(yè)務(wù)流程,主體代碼負(fù)責(zé)抓取、合成圖像,算法代碼負(fù)責(zé)二維碼
    的頭像 發(fā)表于 04-21 14:25 ?54次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b>二維碼<b class='flag-5'>識(shí)別</b><b class='flag-5'>方案</b>

    基于RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè)方案

    RV1126開發(fā)板實(shí)現(xiàn)人臉檢測(cè):在圖像中找出人臉,以及每張人臉的landmarks位置。
    的頭像 發(fā)表于 04-21 17:59 ?322次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板實(shí)現(xiàn)</b><b class='flag-5'>人臉</b>檢測(cè)<b class='flag-5'>方案</b>