在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于LockAI視覺識別模塊:手寫數字識別

福州市凌睿智捷電子有限公司 ? 2025-06-30 15:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

手寫數字識別是一種經典的模式識別和圖像處理問題,旨在通過計算機自動識別用戶手寫的數字。

本文將教會你如何使用基于RV1106的 LockAI視覺識別模塊進行手寫數字識別。

源代碼:https://gitee.com/LockzhinerAI/LockzhinerVisionModule/tree/master/Cpp_example/D02_DigitHandRecog

1. 基本知識講解

1.1 手寫數字識別簡介

手寫數字識別是一種利用計算機視覺機器學習技術自動識別手寫數字的過程。它通過圖像預處理、特征提取和模型訓練來實現高效準確的數字識別。被廣泛應用于銀行支票處理、郵政編碼識別及考試評分等場景。這項技術不僅提高了數據處理的速度和準確性,還極大地簡化了輸入流程,為金融、郵政和教育等行業帶來了顯著的便利。

1.2 手寫數字識別常用方法

目前,實現手寫數字識別方法有很多,常用的方法如下:

卷積神經網絡(CNN):最流行的方法之一,能夠自動從圖像中學習特征。適用于復雜背景和不同書寫風格的手寫數字識別。

支持向量機(SVM):一種傳統的機器學習方法,通過提取圖像的特征(如HOG特征)進行分類,適合處理較為規范的手寫數字。

K近鄰算法(KNN):基于相似度的分類方法,通過比較待識別數字與訓練樣本的距離來進行分類,簡單但計算成本較高。


2. C++ API文檔

2.1 PaddleClas類

2.1.1 頭文件

#include

作用:用于聲明PaddleClas類,使得PaddleClas類可以在當前源文件中使用。

2.1.2 構造類函數

lockzhiner_vision_module::PaddleClasmodel;

作用:用于實現手寫數字識別。

參數說明:

返回值:

2.1.3 Predict函數

autoresult=model.Predict(input_mat);

作用:PaddleClas類中的一個函數,用于實現手寫數字識別。

參數說明:

input_mat:要識別的圖像。

返回值:

返回一個包含手寫數字分類結果的對象。該Result對象包含預測得分(score)和對應的標簽ID(label_id),即識別出的手寫數字。

2.2 Visualize函數

2.2.1 頭文件

#include

作用:用于聲明Visualize函數,使得Visualize函數可以在當前源文件中使用。

2.2.2 結果可視化

lockzhiner_vision_module::Visualize(input_mat,output_image,result);

參數說明:

input_mat:表示原始輸入圖像。

output_image:用于存儲帶有可視化結果的輸出圖像。

result:輸入參數,表示手寫數字識別的結果。該Result對象包含預測得分(score)和對應的標簽ID(label_id)。

返回值:


3. 綜合代碼解析

3.1 流程圖

17af7118-5586-11f0-986f-92fbcf53809c.png


3.2 核心代碼解析

初始化分類模型

lockzhiner_vision_module::PaddleClasmodel;

自定義函數參數如下

圖片手寫數字識別

intTestImage(conststd::string&image_path)

參數說明:

image_path:輸入參數,表示包含手寫數字的圖像文件路徑。

返回值:

返回0表示成功執行,并保存執行結果為"cls_result.png"。

攝像頭實時手寫數字識別

intTestCapture()

參數說明:

返回值:

返回0表示執行成功,并將檢測結果繪制在原始圖像上。程序會持續從攝像頭讀取幀并進行處理,直到手動終止程序。

3.3 完整代碼實現

#include#include#include#include#include#include#include#includeusingnamespacestd::chrono;lockzhiner_vision_module::PaddleClas model;intTestCapture(){ // 初始化 edit 模塊 lockzhiner_vision_module::Edit edit; if(!edit.StartAndAcceptConnection()) { std::cerr <> input_mat; if(input_mat.empty()) { continue; } // 使用 model 對象的 Predict 方法對輸入圖像進行預測 autoresult = model.Predict(input_mat); // 獲取當前時間點作為結束時間 high_resolution_clock::time_point end_time = high_resolution_clock::now(); autotime_span =duration_cast(end_time - start_time); time_ms += time_span.count(); read_index +=1; std::cout <

4. 編譯調試

4.1 編譯環境搭建

請確保你已經按照開發環境搭建指南正確配置了開發環境。

同時已經正確連接開發板。

4.2 Cmake介紹

cmake_minimum_required(VERSION3.10)project(test_DigitHandRecog)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_STANDARD_REQUIRED ON)# 定義項目根目錄路徑set(PROJECT_ROOT_PATH"${CMAKE_CURRENT_SOURCE_DIR}/../..")message("PROJECT_ROOT_PATH = "${PROJECT_ROOT_PATH})include("${PROJECT_ROOT_PATH}/toolchains/arm-rockchip830-linux-uclibcgnueabihf.toolchain.cmake")# 定義 OpenCV SDK 路徑set(OpenCV_ROOT_PATH"${PROJECT_ROOT_PATH}/third_party/opencv-mobile-4.10.0-lockzhiner-vision-module")set(OpenCV_DIR"${OpenCV_ROOT_PATH}/lib/cmake/opencv4")find_package(OpenCV REQUIRED)set(OPENCV_LIBRARIES"${OpenCV_LIBS}")# 定義 LockzhinerVisionModule SDK 路徑set(LockzhinerVisionModule_ROOT_PATH"${PROJECT_ROOT_PATH}/third_party/lockzhiner_vision_module_sdk")set(LockzhinerVisionModule_DIR"${LockzhinerVisionModule_ROOT_PATH}/lib/cmake/lockzhiner_vision_module")find_package(LockzhinerVisionModule REQUIRED)add_executable(Test-DigitHandRecogDigitHandRecog.cc)target_include_directories(Test-DigitHandRecogPRIVATE${LOCKZHINER_VISION_MODULE_INCLUDE_DIRS})target_link_libraries(Test-DigitHandRecogPRIVATE${OPENCV_LIBRARIES}${LOCKZHINER_VISION_MODULE_LIBRARIES})install( TARGETSTest-DigitHandRecog RUNTIME DESTINATION . )


4.3 編譯項目

使用 Docker Destop 打開 LockzhinerVisionModule 容器并執行以下命令來編譯項目

# 進入Demo所在目錄cd/LockzhinerVisionModuleWorkSpace/LockzhinerVisionModule/Cpp_example/D02_DigitHandRecog# 創建編譯目錄rm-rf build &&mkdirbuild &&cdbuild# 配置交叉編譯工具鏈exportTOOLCHAIN_ROOT_PATH="/LockzhinerVisionModuleWorkSpace/arm-rockchip830-linux-uclibcgnueabihf"# 使用cmake配置項目cmake ..# 執行編譯項目make -j8 && make install

在執行完上述命令后,會在build目錄下生成可執行文件。


5. 例程運行示例

5.1 運行前準備

請確保你已經下載了凌智視覺模塊手寫數字分類模型

5.2 運行過程

在凌智視覺模塊輸入以下命令:

chmod777Test-DigitHandRecog# 調用攝像頭實時識別./Test-DigitHandRecogLZ-DigitHandRecog.rknn Capture# 單張圖像識別./Test-DigitHandRecogLZ-DigitHandRecog.rknn image_path

5.3 運行效果

圖像識別效果圖

  • 17c1d876-5586-11f0-986f-92fbcf53809c.png


  • 攝像頭實時識別效果圖

17f3cb88-5586-11f0-986f-92fbcf53809c.png

6. 總結

通過上述內容,我們成功的實現了一個手寫數字識別系統,包括:

獲取并加載包含手寫數字的圖像。

進行手寫數字的檢測和分類,返回檢測和分類后的結果。

可視化包含手寫數字圖像的識別結果。


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

    關注

    88

    文章

    34868

    瀏覽量

    277560
  • 視覺識別
    +關注

    關注

    3

    文章

    107

    瀏覽量

    17032
  • 數字識別
    +關注

    關注

    2

    文章

    20

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于LockAI視覺識別模塊:C++條碼識別

    條碼識別視覺模塊經常使用到的功能之一,經常用于識別超市的貨物信息。本文我們將演示如何基于瑞芯微RV1106的LockAI
    發表于 05-27 10:26

    基于LockAI視覺識別模塊手寫數字識別

    手寫數字識別是一種經典的模式識別和圖像處理問題,旨在通過計算機自動識別用戶手寫
    發表于 06-30 16:45

    基于LockAI視覺識別模塊:C++人臉識別

    本文基于RV1106做成的LockAI視覺識別模塊,采用 LZ-Picodet 模型訓練的人臉檢測模型 LZ-Face,以及ArcFace人臉識別
    發表于 07-01 12:01

    基于分數本征特征的手寫數字識別

    特征提取是手寫數字識別研究中的重要問題,有效、穩定的特征是提高識別率和識別精度的關鍵。該文提出了一種基于分數本征特征和核非線性分類器的
    發表于 05-24 11:42 ?13次下載

    基于分數本征特征的手寫數字識別

    特征提取是手寫數字識別研究中的重要問題,有效、穩定的特征是提高識別率和識別精度的關鍵。該文提出了一種基于分數本征特征和核非線性分類器的
    發表于 10-28 17:05 ?0次下載

    基于MNIST的手寫數字識別系統

    手寫數字識別是圖像識別學科下的一個分支,是圖像處理和模式識別領域研究的課題之一,由于其具有很強的實用性一直是多年來的研究熱點。由于
    發表于 09-13 14:12 ?8次下載
    基于MNIST的<b class='flag-5'>手寫</b><b class='flag-5'>數字</b><b class='flag-5'>識別</b>系統

    Pytorch實現MNIST手寫數字識別

    Pytorch 實現MNIST手寫數字識別
    發表于 06-16 14:47 ?7次下載

    ATKNCR數字字母手寫識別

    ATKNCR數字字母手寫識別庫分享
    發表于 09-28 11:22 ?0次下載

    基于LockAI視覺識別模塊:C++圖像采集例程

    本文主要演示如何使用LockAI視覺識別模塊進行視頻流的讀取,同時使用Edit模塊進行圖像傳輸。基礎知識講解1.1OpenCV簡介OpenC
    的頭像 發表于 04-30 18:23 ?186次閱讀
    基于<b class='flag-5'>LockAI</b><b class='flag-5'>視覺</b><b class='flag-5'>識別</b><b class='flag-5'>模塊</b>:C++圖像采集例程

    基于LockAI視覺識別模塊:C++圖像的基本運算

    在圖像處理中,理解圖像的基本操作是掌握計算機視覺技術的關鍵。本文章將介紹基于LockAI視覺識別模塊下OpenCV中圖像的基本運算方法,包括
    的頭像 發表于 05-06 16:20 ?197次閱讀
    基于<b class='flag-5'>LockAI</b><b class='flag-5'>視覺</b><b class='flag-5'>識別</b><b class='flag-5'>模塊</b>:C++圖像的基本運算

    基于LockAI視覺識別模塊:C++使用圖像的統計信息

    在圖像處理中,統計信息可以幫助我們了解圖像的特性,例如區域內的像素分布、顏色轉換以及特定區域的分析。本文將介紹基于LockAI視覺識別模塊如何提取興趣區域(ROI)、轉換顏色通道、計算
    的頭像 發表于 05-08 10:09 ?205次閱讀
    基于<b class='flag-5'>LockAI</b><b class='flag-5'>視覺</b><b class='flag-5'>識別</b><b class='flag-5'>模塊</b>:C++使用圖像的統計信息

    基于LockAI視覺識別模塊:C++二維碼識別

    二維碼識別視覺模塊經常使用到的功能之一。我們將演示如何使用基于瑞芯微RV1106的LockAI視覺識別
    的頭像 發表于 05-26 09:42 ?206次閱讀
    基于<b class='flag-5'>LockAI</b><b class='flag-5'>視覺</b><b class='flag-5'>識別</b><b class='flag-5'>模塊</b>:C++二維碼<b class='flag-5'>識別</b>

    基于LockAI視覺識別模塊:C++條碼識別

    條碼識別視覺模塊經常使用到的功能之一,經常用于識別超市的貨物信息。本文我們將演示如何基于瑞芯微RV1106的LockAI
    的頭像 發表于 05-27 09:32 ?132次閱讀
    基于<b class='flag-5'>LockAI</b><b class='flag-5'>視覺</b><b class='flag-5'>識別</b><b class='flag-5'>模塊</b>:C++條碼<b class='flag-5'>識別</b>

    基于LockAI視覺識別模塊:C++目標檢測

    本文檔基于瑞芯微RV1106的LockAI凌智視覺識別模塊,通過C++語言做的目標檢測實驗。本文檔展示了如何使用lockzhiner_vision_module::PaddleDet類
    的頭像 發表于 06-06 13:56 ?195次閱讀
    基于<b class='flag-5'>LockAI</b><b class='flag-5'>視覺</b><b class='flag-5'>識別</b><b class='flag-5'>模塊</b>:C++目標檢測

    基于LockAI視覺識別模塊:C++人臉識別

    本文基于RV1106做成的LockAI視覺識別模塊,采用LZ-Picodet模型訓練的人臉檢測模型LZ-Face,以及ArcFace人臉識別
    的頭像 發表于 07-01 10:09 ?95次閱讀
    基于<b class='flag-5'>LockAI</b><b class='flag-5'>視覺</b><b class='flag-5'>識別</b><b class='flag-5'>模塊</b>:C++人臉<b class='flag-5'>識別</b>
    主站蜘蛛池模板: 色多多污网站在线观看 | 女人午夜啪啪性刺激免费看 | 国产精品视频久久久久久 | 亚洲国产欧美日韩一区二区三区 | 亚洲综合五月天 | 日日干夜夜骑 | 欧美另类videos| 久久久久久久久国产 | 日本经典在线三级视频 | 美女被猛男躁免费视频网站 | 国产精品偷伦费观看 | 国产一区二区三区在线影院 | 亚洲v在线 | 久久精品国产免费高清 | 荡女妇边被c边呻吟久久 | 噜噜噜色噜噜噜久久 | 第三级视频在线观看 | 欧美激情αv一区二区三区 欧美激情第一欧美在线 | good韩国理论在线三级 | 永久免费在线看 | 深爱激情成人 | 激情五月开心网 | 欧美性网| 欧美色伊人 | 午夜免费的国产片在线观看 | 两性色午夜视频自由成熟的性 | 在线视频永久在线视频 | 久热首页 | 欧美在线伊人 | 理论片一区 | 手机看片精品国产福利盒子 | 午夜国产视频 | 色婷婷久久免费网站 | 又黄又湿又爽吸乳视频 | 美女一级a毛片免费观看 | 一区二区三区免费视频播放器 | 五月婷婷在线视频 | 天天操天天干天天摸 | 久久天天躁夜夜躁狠狠85麻豆 | 最近2018中文字幕免费看手机 | 香蕉视频色版在线观看 |