国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

基于OpenCV開源庫開發的在OpenHarmony中實現車牌識別

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-06-30 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

張榮

OpenHarmony 知識體系工作組

介紹

本車牌識別項目是基于開源項目 EasyPR(Easy to do Plate Recognition)實現。EasyPR 是一個開源的中文車牌識別系統,基于 OpenCV 開源庫開發。本項目使用潤和 HiSpark Taurus AI Camera(Hi3516DV300) 攝像頭開發板套件(以下簡稱 Hi3516)實現拍照車牌并顯示識別結果。采用的系統是 OpenAtom OpenHarmony (簡稱“OpenHarmony”) 3.1 Release 小型系統。首先將 Hi3516 中的攝像頭對準車牌,其距離約為 60cm~70cm 如下所示:

5a7ade88-f3be-11ec-ba43-dac502259ad0.png

運行程序后按下 1 拍照、按 2 輸出識別結果如下所示:

5a9fb172-f3be-11ec-ba43-dac502259ad0.png

開發流程

本車牌識別項目使用 OpenHarmony 中的媒體子系統實現。代碼基于停車場景下的本地車牌識別。進行講解,其代碼結構如下:

三方庫移植

EasyPR 實現是基于 OpenCV 實現,因此實現 EasyPR 首先得移植 OpenCV。移植的方式采用 Gn 調用 Shell 腳本,Shell 腳本調用 Makefile 實現。
├── BUILD.gn├── include │   ├── camera.h                                       // 攝像頭定義│   ├── local_net_communication.h          // 設備協同主要功能定義│   ├── local_net_def.h                             // 設備協同打印日志│   ├── local_net_dlist.h                            // 設備協同設備列表定義│   ├── local_net_message.h                    // 設備協同傳輸消息定義│   ├── local_net_udp.h                             // 設備協同udp協議定義│   ├── local_net_utils.h                            // 設備協同通用工具定義│   ├── log.h                                              // 打印日志定義│   └── wpa_work.h                                   // wifi設置定義└── src    ├── base64.cpp                                     // 圖片轉base64格式功能代碼     ├── camera.cpp                                     // 攝像頭實現    ├── local_net_communication.c            // 設備協同主要功能實現    ├── local_net_dlist.c                              // 設備協同設備列表實現    ├── local_net_message.c                      // 設備協同傳輸消息實現    ├── local_net_udp.c                              // 設備協同udp協議實現    ├── local_net_utils.c                              // 設備協同通用工具實現    ├── main.cpp                                         // 主程序└──wpa_work.c//wifi設置實現
下面介紹移植的大致流程,具體細節可參考小型系統上運行開源項目車牌識別及移植 opencv 庫。

移植OpenCV

下載源碼

獲取源碼將 OpenCV 庫源碼放在 OpenHarmony 根目錄下的 third_party 下:

生成Makefile

在 OpenCV 源碼根目錄新建 build 目錄生成 Makefile 文件:

使用 cmake-gui 來配置編譯環境:

cd buildmake-gui..

顯示的 UI 界面如下圖:

5abeabcc-f3be-11ec-ba43-dac502259ad0.png

點擊 Configure 進行配置,選擇第四個選項進行配置,如下圖:

配置工具鏈:

點擊 Generate 生成 Makefile。

創建 Shell 腳本

在 OpenCV 源碼根目錄新增 build_opencv.sh:

touch build_opencv.shchmod 777 build_opencv.shvim build_opencv.sh##添加如下內容#!/bin/shprocessor=`cat /proc/cpuinfo|grep processor | sort -u | wc -l`cd buildmake -j$processorcplib/*$1/libs/

創建Gn文件

在 OpenCV 源碼根目錄新增 BUILD.gn 將 OpenCV 庫加入編譯構建:

移植EasyPR

下載源碼

獲取源碼 EasyPR 庫源碼放在源碼根目錄下的 third_party 下:

生成Makefile

在 EasyPr 源碼根目錄新建 build 目錄:

mkdir buildcd buildcmake-gui..
顯示的 UI 界面如下圖: 5abeabcc-f3be-11ec-ba43-dac502259ad0.png

點擊 Configure 進行配置,選擇第四個選項進行配置,如下圖:

配置工具鏈:

點擊 Generate 生成 Makefile。

創建Shell腳本

在 EasyPR 源碼根目錄新增 build_easypr.sh:

創建Gn文件

在 EasyPR 源碼根目錄新增 BUILD.gn 加入至編譯構建:

vim BUILD.gn
#BUILD.gn中添加如下內容import("http://build/lite/config/component/lite_component.gni")import("http://build/lite/ndk/ndk.gni")
root_build = rebase_path(root_build_dir)
build_ext_component("easypr_lib") {    command = "sh build_easypr.sh $root_build"    exec_path = "$root_build/../../../third_party/EasyPR"}
lite_component("easypr") {    deps = [        "http://third_party/opencv:opencv",        ":easypr_lib"    ]    features = []}
最終 OpenCV 與 EasyPR 在 third_party 目錄如下圖所示:

5ae51d84-f3be-11ec-ba43-dac502259ad0.png

在 OpenHarmony 實現 EasyPR 需要主要分為如下三步:

1.GN 構建,將 EasyPR 加入編譯構建;

2.拍照,調用 OpenHarmony 拍照接口,拍攝車牌;

3.EasyPR 本地識別,調用 EasyPR 識別車牌接口并返回識別結果。

GN構建

GN 構建中包含了 EasyPR 的頭文件路徑 、鏈接 EasyPR 動態庫、編譯依賴 EasyPR。如下所示:

5afe8170-f3be-11ec-ba43-dac502259ad0.png

拍照

拍照功能是基于官方文檔拍照開發指導開發的,其 demo 樣例在如下目錄:

5b0d61c2-f3be-11ec-ba43-dac502259ad0.png

在停車場景中二維碼識別與車牌識別共用同一份拍照代碼 ,為提高二維碼識別率在拍照初始化時須將分辨率設置為 1280*720。該改動在進行車牌識別時不會影響 ,初始化拍照代碼如下圖:

設置照片保存路徑在文件 camera.h 下:

因為在停車場景中二維碼掃碼與車牌識別都會調用拍照接口,因此使用 s_runAi 作區分:

int main(int argc,char **argv){    int ret;    char licensePlate[32] = {0};    char input;    InitCamera();    PlateInit();    while(cin >> input) {        switch (input) {            case '1':                RunAICamera();                                                  // 拍照                break;            case '2':                memset(licensePlate, 0, sizeof(licensePlate));                ret = GetPlateString(IMG_PATH, licensePlate);   // 識別車牌                SAMPLE_INFO("ret -> %d, licensePlate->%s", ret, licensePlate);                break;            case 's':                PlateDeinit();                ExitCamera();                return 0;            default:                SAMPLE_ERROR("input Error");                break;        }    }    return 0;}

5b1c69e2-f3be-11ec-ba43-dac502259ad0.png

進行拍照后會進入拍照數據處理,當 s_runAi 為 false 說明是二維碼識別,直接調用二維碼識別接口即可。當 s_runAi 為 true 時須將拍照的數據保存為圖片:

5b290bd4-f3be-11ec-ba43-dac502259ad0.png

將拍照數據以圖片保存路徑為“/sdcard/CaptureAi.jpg” 。

EasyPR本地識別

編寫主程序 main.cpp 設置程序功能為按 1 拍照、按 2 顯示結果 :

編譯燒錄

前文大致概括了 OpenCV 和 EasyPR 的移植步驟,更詳細的關于環境搭建、燒錄以及項目源碼構建的步驟,請查看參考文章本地車牌識別。

總結

編寫車牌識別庫對外接口,相關接口使用可以參考作者文章介紹;本文章的源碼參考本地車牌識別。豐富多樣的 OpenHarmony 開發樣例離不開廣大合作伙伴和開發者的貢獻,如果你也想把自己開發的樣例分享出來,歡迎把樣例提交到 OpenHarmony 知識體系 SIG 倉來,共建開發樣例請參考如何共建開發樣例。

車牌識別器(OpenCV版本)

https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/GreyWolf_ImageRecognition_LocalAI

車牌識別器

https://gitee.com/openharmony-sig/knowledge_demo_temp/blob/master/docs/GreyWolf_EasyPR/readme.md

拍照開發指導

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/guide/device-camera-control-demo-photoguide.md

作者文章列表

https://gitee.com/link?target=https%3A%2F%2Fwww.cnblogs.com%2Fsubconscious%2Fp%2F3979988.html

源碼參考

https://gitee.com/openharmony-sig/knowledge_demo_temp/tree/master/docs/GreyWolf_ImageRecognition_LocalAI

構建開發樣例

https://gitee.com/openharmony-sig/knowledge/blob/master/docs/co-construct_demos/README_zh.md


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

    關注

    3

    文章

    4204

    瀏覽量

    46130
  • 車牌識別
    +關注

    關注

    5

    文章

    84

    瀏覽量

    16641
  • OpenCV
    +關注

    關注

    33

    文章

    652

    瀏覽量

    44786
  • OpenHarmony
    +關注

    關注

    33

    文章

    3952

    瀏覽量

    21096

原文標題:三步就能在OpenHarmony中實現車牌識別

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【上海晶珩睿莓 1 開發板試用體驗】車牌識別

    【上海晶珩睿莓 1 開發板試用體驗】車牌識別 本文介紹了上海晶珩睿莓 1 單板計算機結合 LPRNet 算法和 Ultralytics 實現
    發表于 01-02 20:53

    【MediaTek X20開發板申請】小區車牌自動識別系統

    項目名稱:小區車牌自動識別系統試用計劃:MediaTek X20 開發板是一款誠邁科技和聯發科技聯合發布的符合96board規范的開源硬件,具有非常強大的運算能力和多媒體處理能力最新的
    發表于 12-29 17:05

    【超值干貨】 揭秘車牌識別算法

    少之又少。今天給大家分享的車牌識別案例,其實在我們生活已經很常見了。各大停車場早就配備了這種車牌自動識別的設備。
    發表于 05-25 21:07

    移動端車牌識別SDK算法

    越來越多人集成了,汽車保有量日益上升,越來越多公司開發車輛管理系統,系統開發過程中,對于OCR識別算法,不少開發人員為了節省成本,
    發表于 05-17 22:55

    基于機器學習opencv和平臺Jupyter Notebook的車牌識別案例

    python+opencv實現車牌識別
    發表于 02-28 11:08

    三步就能在OpenHarmony實現車牌識別

    識別系統,基于 OpenCV 開源開發。本項目使用潤和 HiSpark Taurus AI Camera(Hi3516DV300) 攝像頭
    發表于 06-28 10:15

    三步就能在OpenHarmony實現車牌識別

    識別結果如下所示:開發流程本車牌識別項目使用 OpenHarmony 的媒體子系統
    發表于 07-06 11:20

    如何在OpenHarmony上使用SeetaFace2人臉識別

    OpenHarmony實現過人臉識別功能,跟著本文帶你快速OpenHarmony標準設備上基于SeetaFace2和
    發表于 08-22 17:46

    基于DSP的圖像處理在車牌識別的應用

    車牌識別模塊是車牌識別(LPR)系統的核心。論文根據國內汽車牌照的特點,對車牌
    發表于 02-24 14:30 ?42次下載

    圖象處理技術在車牌識別的應用

    圖象處理技術在車牌識別的應用利用數字圖象處理技術研究開發車牌照自動識別系統。從汽車圖象確定
    發表于 12-08 15:21 ?1315次閱讀
    圖象處理技術在<b class='flag-5'>車牌</b><b class='flag-5'>識別</b><b class='flag-5'>中</b>的應用

    使用OpenCV進行車牌數字識別的資料免費下載

    本文檔的主要內容詳細介紹的是使用OpenCV進行車牌數字識別的資料免費下載。
    發表于 01-16 08:00 ?29次下載
    使用<b class='flag-5'>OpenCV</b>進行<b class='flag-5'>車牌</b>數字<b class='flag-5'>識別</b>的資料免費下載

    使用Adaboost算法實現車牌檢測OpenCV實現的研究分析

    AdabtxⅪt是一個構建精確分類器的學習算法,目標檢測領域有著廣泛的應用。OpenCV是Intel開源計算機視覺。該文給出了
    發表于 09-27 17:49 ?7次下載
    使用Adaboost算法<b class='flag-5'>實現</b><b class='flag-5'>車牌</b>檢測<b class='flag-5'>在</b><b class='flag-5'>OpenCV</b>上<b class='flag-5'>實現</b>的研究分析

    基于SeetaFace2和OpenCV實現人臉識別

    相信大部分同學們都已了解或接觸過OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)了,但你一定沒在OpenHarmony實現過人臉
    的頭像 發表于 08-17 10:50 ?4495次閱讀

    使用OpenCV技術的車牌識別案例設計

      摘要:車牌識別系統在生活的使用越發廣泛,占據重要地位。車牌識別一共分為圖像處理和字符識別
    發表于 07-20 14:57 ?5次下載

    ElfBoard開源項目|車牌識別項目技術文檔

    車牌識別項目基于百度智能云平臺,旨在利用其強大的OCR服務實現車牌號碼的自動識別。選擇百度智能云的原因是其高效的API接口和穩定的服務質量,
    的頭像 發表于 12-06 10:30 ?1173次閱讀
    ElfBoard<b class='flag-5'>開源</b>項目|<b class='flag-5'>車牌</b><b class='flag-5'>識別</b>項目技術文檔