国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【OCR項目】之用HALCON的深度學習工具進行文字識別,并導出到C++調(diào)用

這篇具有很好參考價值的文章主要介紹了【OCR項目】之用HALCON的深度學習工具進行文字識別,并導出到C++調(diào)用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

HALCON是一個強大的機器視覺工具,包含了2D,3D圖像各種算子,以及各種任務(wù)的深度學習工具,包括目標檢測,實例分割,文字識別等。

這次從實際生產(chǎn)的角度,來分享一下如何用HALCON進行文字識別。

衡量一個技術(shù)是否能在實際工業(yè)生產(chǎn)使用,要考慮的因素:

  • 最重要的一點,精度要高且穩(wěn)定。在復雜的工業(yè)場景,需要能穩(wěn)定的做到非常高的精度,而不是像簡單的示例程序或者學生作品一樣,只是學習和展示使用。這點HALCON的深度學習OCR可以滿足大部分普通的工業(yè)場景。
    • 這里有一個細節(jié),HALCON的版本越高,理論上提供的模型結(jié)構(gòu)要越先進,預訓練模型精度也越高。這里使用的是22.05的版本。
  • 速度要快。HALCON做深度學習OCR即使使用CPU進行識別,速度也非??臁?/li>
  • 需要能整合到實際開發(fā)的軟件工程里。HALCON支持導出成C++,只需要少量的調(diào)整。

HALCON代碼

【OCR項目】之用HALCON的深度學習工具進行文字識別,并導出到C++調(diào)用,HALCON機器視覺實戰(zhàn),ocr,深度學習,人工智能,halcon,計算機視覺,c++

HALCON的OCR和現(xiàn)在主流的字符識別任務(wù)一樣,分成兩階段任務(wù)。

  • 文本檢測Detection,識別出文本行的位置。
  • 文本識別Recognition,把Detection任務(wù)檢測出來的文本行摳出來進行識別。

并且HALCON支持像上面圖片這樣傾斜的文字,下面是簡單的實現(xiàn)代碼和逐行解釋。

* 讀取圖片
read_image (Image, 'D:/Project/OCR_demo.jpg')
* 獲取顯示窗口的句柄
dev_get_window (WindowHandle)
* 設(shè)置文字的字體和大小
set_font (WindowHandle, 'Courier New-Bold-' + round(26))
* 創(chuàng)建OCR識別句柄
create_deep_ocr ('mode', 'auto', DeepOcrHandle)
* 創(chuàng)建CPU/GPU設(shè)備句柄
query_available_dl_devices ('runtime', 'cpu', DLDeviceHandle)
* 設(shè)置OCR使用的設(shè)備
set_deep_ocr_param (DeepOcrHandle, 'device', DLDeviceHandle)

* 記錄開始時間
count_seconds(StartTime)
* 執(zhí)行OCR
apply_deep_ocr (Image, DeepOcrHandle, 'auto', DeepOcrResult)
* 記錄結(jié)束時間
count_seconds(EndTime)
* 計算耗時
Duration := EndTime - StartTime
* 繪制文字
write_string (WindowHandle, '耗時'+Duration+'s')

* 獲取結(jié)果
get_dict_tuple (DeepOcrResult, 'words', WordsRes)
* 獲取文字區(qū)域的行坐標
get_dict_tuple (WordsRes, 'row', Rows)
* 獲取文字區(qū)域的列坐標
get_dict_tuple (WordsRes, 'col', Cols)
* 獲取文字區(qū)域的傾斜角度
get_dict_tuple (WordsRes, 'phi', Phis)
* 獲取文字區(qū)域的矩形長邊
get_dict_tuple (WordsRes, 'length1', Length1s)
* 獲取文字區(qū)域的矩形短邊
get_dict_tuple (WordsRes, 'length2', Length2s)
* 獲取識別文字結(jié)果
get_dict_tuple (WordsRes, 'word', Words)
* 設(shè)置繪制模式為畫輪廓
dev_set_draw('margin')
* 設(shè)置畫線的寬度
dev_set_line_width (2)

for Index := 0 to |Rows|-1 by 1
    * 繪制帶方向的矩形
    disp_rectangle2(WindowHandle, Rows[Index], Cols[Index], Phis[Index], Length1s[Index], Length2s[Index])
    * 設(shè)置文字的坐標
    set_tposition(WindowHandle, Rows[Index],  Cols[Index])
    * 繪制文字
    write_string (WindowHandle, Words[Index])
endfor

上面的代碼運行結(jié)果如下,可以看到HALCON在CPU上的速度也是非??斓?。

【OCR項目】之用HALCON的深度學習工具進行文字識別,并導出到C++調(diào)用,HALCON機器視覺實戰(zhàn),ocr,深度學習,人工智能,halcon,計算機視覺,c++

導出C++

HALCON導出到C++也非常方便,只需要點擊

【文件】-【導出程序】

【OCR項目】之用HALCON的深度學習工具進行文字識別,并導出到C++調(diào)用,HALCON機器視覺實戰(zhàn),ocr,深度學習,人工智能,halcon,計算機視覺,c++

需要注意的點是,上面的HALCON代碼雖然在HALCON里運行沒有問題,但是直接導出C++運行是會報錯的。

因為上面使用的是HALCON自帶的模型,導出C++之后,程序里是不帶有這個模型的。所以需要將自帶的模型導出,然后設(shè)置成使用這個模型來進行識別。

使用以下HALCON代碼進行模型導出

* 創(chuàng)建自帶的OCR模型
create_deep_ocr ('mode', 'auto', DeepOcrHandle)
* 設(shè)置導出模型的路徑
Filename := 'D:/model.hdo'
* 導出模型
write_deep_ocr (DeepOcrHandle, Filename)

然后把上面的識別代碼從創(chuàng)建默認OCR識別模型句柄,改成讀取指定的模型。

* 創(chuàng)建OCR識別句柄
* create_deep_ocr ('mode', 'auto', DeepOcrHandle)
* 讀取指定的模型
read_deep_ocr ('D:/model.hdo', DeepOcrHandle)

再進行C++代碼導出,就可以使用了。

在C++工程里調(diào)用也非常簡單,只需要包含halcon.dll,halconcppdll,halcondl.dll即可。

案例

在實際項目中,如果文字足夠清晰,預處理足夠干凈,文本定位足夠準確的話,即使使用默認的模型也能達到非常高的精度。

比如下面的例子,通過內(nèi)容區(qū)域提取,透視變換,文本檢測,文本位置精細定位,背景分割過濾等手段,將文本區(qū)域精準提取出來之后,直接使用默認的模型也可以達到很好的效果。

【OCR項目】之用HALCON的深度學習工具進行文字識別,并導出到C++調(diào)用,HALCON機器視覺實戰(zhàn),ocr,深度學習,人工智能,halcon,計算機視覺,c++【OCR項目】之用HALCON的深度學習工具進行文字識別,并導出到C++調(diào)用,HALCON機器視覺實戰(zhàn),ocr,深度學習,人工智能,halcon,計算機視覺,c++

當然,在針對性的場景,通過標注對應(yīng)的數(shù)據(jù)集,并在預訓練模型的基礎(chǔ)上進行針對性訓練,可以達到一個更好的效果,這個步驟也很簡單,后面機會再展開講一下。文章來源地址http://www.zghlxwxcb.cn/news/detail-815773.html

到了這里,關(guān)于【OCR項目】之用HALCON的深度學習工具進行文字識別,并導出到C++調(diào)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 深度學習實戰(zhàn)50-構(gòu)建ChatOCR項目:基于大語言模型的OCR識別問答系統(tǒng)實戰(zhàn)

    大家好,我是微學AI,今天給大家介紹一下深度學習實戰(zhàn)50-構(gòu)建ChatOCR項目:基于大語言模型的OCR識別問答系統(tǒng)實戰(zhàn),該項目是一個基于深度學習和大語言模型的OCR識別問答系統(tǒng)的實戰(zhàn)項目。該項目旨在利用深度學習技術(shù)和先進的大語言模型,構(gòu)建一個能夠識別圖像中文本,并能

    2024年02月11日
    瀏覽(25)
  • 完全離線的OCR圖片轉(zhuǎn)文字識別工具Umi-OCR

    完全離線的OCR圖片轉(zhuǎn)文字識別工具Umi-OCR

    OCR圖片轉(zhuǎn)文字識別軟件,完全離線。截屏/批量導入圖片,支持多國語言、合并段落、豎排文字??膳懦^(qū)域,提取干凈的文本?;?PaddleOCR 。 免費:本項目所有代碼開源,完全免費。 方便:解壓即用,離線運行,無需網(wǎng)絡(luò)。 批量:可批量導入處理圖片,結(jié)果保存到本

    2024年02月03日
    瀏覽(23)
  • 深度學習之用PyTorch實現(xiàn)邏輯回歸

    深度學習之用PyTorch實現(xiàn)邏輯回歸

    0.1 學習視頻源于:b站:劉二大人《PyTorch深度學習實踐》 0.2 本章內(nèi)容為自主學習總結(jié)內(nèi)容,若有錯誤歡迎指正! 代碼(類比線性回歸): BCEloss: ? 結(jié)果: 注:輸出結(jié)果為類別是1的概率。

    2024年02月13日
    瀏覽(31)
  • 深度學習之用PyTorch實現(xiàn)線性回歸

    深度學習之用PyTorch實現(xiàn)線性回歸

    1.1 epoch = 100時 1.2 epoch =?1000時 ? 2.1 Adam優(yōu)化器 ? ?2.2 Adamax優(yōu)化器? 3.1 lr = 0.05 ?3.2 lr = 0.1(loss函數(shù)結(jié)果發(fā)散) 1.1 問題 ?1.2 解決辦法 代碼中model.parameters()函數(shù)保存的是Weights和Bais參數(shù)的值。但是對于其他網(wǎng)絡(luò)(非線性)來說這個函數(shù)可以用嗎,里面也是保存的w和b嗎?

    2024年02月14日
    瀏覽(25)
  • 【實操】Java+百度ocr,實現(xiàn)圖片識別文字小工具

    圖片識別文字,咱用java也可以 通過 java+百度ocr ,實現(xiàn)一個截圖或上傳圖片, 圖片識別文字的小工具 。并通過 exe4j工具 將jar包封裝成exe可執(zhí)行桌面文件,方便使用及學習。 一位特別的老友即將 在2023年10月26日 年滿 30周歲 ,愿 平安喜樂 公眾號:【JavaDog程序狗】 關(guān)注公眾號

    2024年02月08日
    瀏覽(28)
  • Opencv項目實戰(zhàn):01 文字檢測OCR(1)

    Opencv項目實戰(zhàn):01 文字檢測OCR(1)

    由圖我們可知,對圖片進行了數(shù)字和字母的識別。 (1)下載Tesseract 點擊此網(wǎng)址:tesseract-ocr alternative download - Browse Files at SourceForge.net 我下載的是第四個版本,下載后是zip包的形式,壓縮后可安裝,選擇路徑可更改,否則會在默認的C:\\\\Program Files里面,沒有什么大的影響。 (

    2024年02月06日
    瀏覽(20)
  • 【項目管理】Java OCR實現(xiàn)圖片文字識別

    【項目管理】Java OCR實現(xiàn)圖片文字識別

    系統(tǒng):Win10 Java:1.8.0_333 IDEA:2020.3.4 最近在看外國漫畫的時候,發(fā)現(xiàn)有些漫畫沒有漢化的翻譯,這哪看得懂。正想把那些日語輸入到有道翻譯一下,發(fā)現(xiàn)日文不會輸。正巧之前有接觸關(guān)于OCR的項目,所以便想用Java做一個小工具,實現(xiàn)圖片的文字識別功能,于是我便開始了項目

    2024年02月02日
    瀏覽(26)
  • PDF編輯和OCR文字識別工具ABBYY FineReader PDF

    PDF編輯和OCR文字識別工具ABBYY FineReader PDF

    ABBYY FineReader PDF是一款專業(yè)的OCR文字識別和PDF編輯工具,可以幫助用戶更好地處理和管理PDF文檔。 以下是ABBYY FineReader PDF的一些特點: 1. 文字識別精準:ABBYY FineReader PDF具有強大的OCR文字識別功能,可以將PDF中的文字準確識別出來,方便用戶進行編輯和搜索。 2. PDF編輯功能強

    2024年02月07日
    瀏覽(22)
  • python ocr(光學文字識別) 學習筆記 (一)

    參考資料:500 lines or less ocr 我們的OCR系統(tǒng)主要由5部分組成,分別寫在5個文件之中。它們分別是: 客戶端(ocr.js) 服務(wù)器(server.py) 簡單的用戶界面(ocr.html) 基于反向傳播訓練的ANN(ocr.py) ANN的實現(xiàn)腳本(neural network design.py) 雖然界面服務(wù)器用戶界面不是我們的重點,但由于筆者水平有

    2024年02月08日
    瀏覽(24)
  • 快速調(diào)用百度AI開放平臺的API,以O(shè)CR通用文字識別為例(封裝函數(shù)進行連續(xù)調(diào)用)

    快速調(diào)用百度AI開放平臺的API,以O(shè)CR通用文字識別為例(封裝函數(shù)進行連續(xù)調(diào)用)

    ??博客主頁:是dream ??系列專欄: 深度學習環(huán)境搭建、環(huán)境配置問題解決、自然語言處理、語音信號處理、項目開發(fā) ??每日語錄:眼里有不朽的光芒 心里有永恒的希望 。 ??感謝大家點贊??收藏?指正?? ????????百度開放平臺允許開發(fā)者訪問和利用百度的各種服務(wù)

    2024年02月06日
    瀏覽(97)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包