那曲檬骨新材料有限公司

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

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

3天內不再提示

關于Halcon OCR識別

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2021-05-11 09:55 ? 次閱讀

OCR(Optical Character Recognition),光學字符識別的英文縮寫。

OCR主要步驟

圖像預處理

目標區(qū)域分割(ROI)

字符識別

結果處理

1. 圖像預處理

對原始圖像進行灰度化,二值化,模板匹配,降噪,增強等!

2.目標區(qū)域分割(ROI)

對預處理后的圖像進行ROI提取,分割出單個字符組成的區(qū)域

3.字符識別,即模式識別技術

訓練OCR,利用大量的模板圖片訓練出一個字符分類器

使用OCR,將訓練好的分類器用于字符分類,類似于手寫數字識別!

4.結果處理

將識別完的文字按特定的次序和規(guī)則組合輸出!

上述4個步驟中,OCR的核心部分自然是第3步,即模式識別技術

模式識別技術

訓練分類器

第一步:將分割好的字符區(qū)域加入訓練集,使用函數

append_ocr_trainf(Character,Image::Class,TrainingFile:)

參數解析:

Character:字符區(qū)域

Image:灰度圖像

Class:分類標簽

TrainingFile:訓練集文件名,一般后綴為.trf

功能說明:用于制作訓練集,使用與TrainingFile文件相同的訓練文件格式,將字符附加到現(xiàn)有文件。如果該文件不存在,則生成新文件。TrainingFile如果未指定擴展名,則默認添加擴展名.trf

第二步:創(chuàng)建分類器,使用函數

create_ocr_class_mlp(::WidthCharacter, HeightCharacter,Interpolation,F(xiàn)eatures,Characters,NumHidden,Preprocessing,NumComponents,RandSeed:OCRHandle)

參數解析:

WidthCharacter:輸入被分割的字符縮放到指定的寬度

HeightCharacter:輸入被分割的字符縮放到指定的高度

Interpolation:縮放的插值方式

Features:特征類型,一般選’default’

Characters:分類的特征向量

NumHidden: MLP(多層感知器-人工神經網絡)中隱藏層神經元的個數

Preprocessing:矢量特征轉換的預處理類型

NumComponents:匹配字符的數量

RandSeed:隨機種子

OCRHandle:OCR分類器的句柄

功能說明:創(chuàng)建一個MLP模型并初始化

第三步:訓練、保存、清除分類器,使用函數

trainf_ocr_class_mlp(::OCRHandle,TrainingFile,MaxIterations,WeightTolerance,ErrorTolerance:Error,ErrorLog) write_ocr_class_mlp(::OCRHandle,F(xiàn)ileName:) clear_ocr_class_mlp(:)

訓練MLP分類器參數解析:

OCRHandle:OCR分類器的句柄

TrainingFile:訓練集

MaxIterations:最大迭代次數

WeightTolerance:初始權重公差

ErrorTolerance:初始損失學習率

Error:整個訓練集上的均差

ErrorLog:每一次訓練的均差記錄

功能說明:使用訓練集訓練模型,

保存分類器模型參數解析:

FileName:輸出的模型文件名,不指定擴展名,則擴展名默認為.omc

功能說明:將訓練好的模型保存為文件

清除分類器模型功能說明:清除模型,釋放緩存

使用分類器

讀取、使用訓練好的模型分類的函數如下:

read_ocr_class_mlp(:OCRHandle) do_ocr_single_class_mlp(Character,Image::OCRHandle,Num:Class,Confidence) do_ocr_multi_class_mlp(Character,Image:Class,Confidence)

讀取模型函數參數解析:

FileName:模型文件名,如果未指定擴展名,則默認使用擴展名.omc

OCRHandle:成功讀取模型后生成的模型句柄

功能說明:從模型文件中讀出模型

模型單個字符識別參數解析:

Character:字符區(qū)域

Image:字符圖片

Num:輸出概率最大的前Num個分類類別

Class:輸出類別

Confidence:輸出分類的置信度

功能說明:對單個區(qū)域進行的字符識別

模型多個字符識別參數解析:

Class:輸出的分類數組

功能說明:輸出多個字符區(qū)域的類別

其它函數

獲取訓練集信息

read_ocr_trainf_names (: CharacterNames, CharacterCount)

參數解析:

TrainingFile:訓練集

CharacterNames:輸出分類數組

CharacterCount:訓練集字符區(qū)域總數

完整示例代碼如下(僅作為代碼示例,無法運行):

WindowHandle:=3600 dev_open_window (0, 0, 512, 512, ‘black’, WindowHandle) gen_empty_obj (EmptyObject) read_image (Image, ‘test1.jpg’) rgb1_to_gray (Image, GrayImage) for Index := 1 to 4 by 1 disp_message (WindowHandle, ‘手動ROI’,‘window’, 12, 12, ‘yellow’, ‘false’) draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2) gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2) reduce_domain (GrayImage, Rectangle, ImageReduced1) threshold (ImageReduced1, Region1, 128, 255) concat_obj (EmptyObject, Region1, EmptyObject) endfor words:=[‘1’,‘2’,‘3’,‘4’] *按列位置排序 sort_region (EmptyObject, SortedRegions1, ‘character’, ‘true’, ‘column’) FontName := ‘F:DataSetNum’ TrainingFileName := FontName+‘.trf’ for Index1:=1 to 4 by 1 select_obj (SortedRegions1, ObjectSelected1, Index1) append_ocr_trainf (ObjectSelected1, Image, words[Index1-1], TrainingFileName) endfor read_ocr_trainf_names (TrainingFileName, CharacterNames, CharacterCount) create_ocr_class_mlp (8, 10, ‘constant’, ‘default’, CharacterNames, 80, ‘none’, 10, 42, OCRHandle) trainf_ocr_class_mlp (OCRHandle, TrainingFileName, 200, 1, 0.01, Error, ErrorLog) write_ocr_class_mlp (OCRHandle, FontName) *導入另一張做測試的圖 read_image (Image1, ‘test2.jpg’) threshold (Image1, testwordregion, 125, 255) connection (testwordregion, ConnectedwordRegions) select_shape (ConnectedwordRegions, SelectedwordRegions, ‘height’, ‘and’, 50, 250) sort_region (SelectedwordRegions, SortedRegions2, ‘upper_left’, ‘true’, ‘column’) count_obj(SortedRegions2, Number) *開始識別 read_ocr_class_mlp (FontName, OCRHandle1) do_ocr_multi_class_mlp (SortedRegions2, Image1, OCRHandle1, Class, Confidence) *顯示結果 disp_message(WindowHandle, ‘識別結果:’, ‘image’, 30, 50, ‘white’, ‘false’) for i:=1 to Number by 1 disp_message(WindowHandle, Class[i-1], ‘image’, 30, 120+40*i, ‘yellow’, ‘false’) endfor

Halcon的OCR模型主要有多層神經網絡MLP、支持向量機SVM、K最近鄰KNN、卷積神經網絡CNN四種,以上關于MLP的各類函數,其它模型也有對應的函數,這里就不作詳細介紹了。在OCR領域,CNN和MLP應用比較廣泛,而SVM在打印體的識別上也可以使用,KNN的計算量和模型原理并不適合用于多屬性(點)的算法訓練!

責任編輯:lq

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

    關注

    3

    文章

    760

    瀏覽量

    36440
  • OCR
    OCR
    +關注

    關注

    0

    文章

    146

    瀏覽量

    16427
  • 識別技術
    +關注

    關注

    0

    文章

    205

    瀏覽量

    19749

原文標題:Halcon OCR識別

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    C#通過Halcon實現(xiàn)3D點云重繪

    C# 通過 Halcon 實現(xiàn) 3D 點云重繪
    發(fā)表于 01-05 09:16 ?0次下載

    C#基于Halcon實現(xiàn)Basler相機采圖

    C#基于Halcon實現(xiàn)Basler相機采圖
    發(fā)表于 01-05 09:16 ?0次下載

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

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

    明治案例 | 【OCR識別+條碼讀取】一步到位,印刷品質的智能守護者

    在某大型印刷企業(yè)的生產線上,印刷機需要完成大量的條碼印刷任務。為了確保條碼的準確性和可讀性,需要在設備上安裝傳感器進行條碼印刷的讀碼和OCR識別檢測。1、傳感器需要準確識別條碼中的信息,并將其與預設
    的頭像 發(fā)表于 10-22 08:02 ?381次閱讀
    明治案例 | 【<b class='flag-5'>OCR</b><b class='flag-5'>識別</b>+條碼讀取】一步到位,印刷品質的智能守護者

    光學字符識別是什么的一種技術

    光學字符識別(Optical Character Recognition,簡稱OCR)是一種將文本資料轉換為計算機可編輯和可搜索的數據格式的技術。這項技術廣泛應用于文檔掃描、數據錄入、自動化處理等
    的頭像 發(fā)表于 09-10 15:48 ?577次閱讀

    光學識別技術的工作原理是什么?

    光學識別技術(Optical Character Recognition,簡稱OCR)是一種將圖像中的文字信息轉換成可編輯和可搜索的文本數據的技術。它廣泛應用于文檔掃描、數據錄入、自動識別等領域
    的頭像 發(fā)表于 09-10 15:46 ?835次閱讀

    光學識別字符是自動識別技術嗎

    光學識別字符(Optical Character Recognition,簡稱OCR)是一種自動識別技術,它能夠將各種類型文檔(如掃描的紙質文檔、PDF文件或數字相機拍攝的圖片)中的文字轉換成可編
    的頭像 發(fā)表于 09-10 15:43 ?551次閱讀

    光學識別輸入的基本原理是什么

    光學字符識別(Optical Character Recognition,OCR)是一種將不同格式的文檔(如掃描的紙張文檔、PDF文件或數字相機拍攝的圖片)轉換成可編輯和可搜索的數據的技術。OCR
    的頭像 發(fā)表于 09-10 15:34 ?751次閱讀

    明治案例 | PE編織袋【大視野】【OCR識別

    OCR識別技術OCR識別技術在工業(yè)生產中扮演著至關重要的角色。它利用先進的圖像處理技術,自動、高效地識別并轉換圖像中的文字信息為可編輯的文本
    的頭像 發(fā)表于 08-13 08:25 ?517次閱讀
    明治案例 | PE編織袋【大視野】【<b class='flag-5'>OCR</b><b class='flag-5'>識別</b>】

    Labview與Halcon圖片Image互相轉換

    Labview 與Halcon 聯(lián)合開發(fā) 分享一下Labview 與Halcon Image格式相互轉換的程序, 整理了一個VI,LV_to _Halconxl.vi,可以直接調用,相互轉換兩種格式
    發(fā)表于 06-27 23:00

    labview聯(lián)合Halcon,實時采集的圖像應該如何傳入?

    labview聯(lián)合Halcon,實時采集的圖像應該如何傳入?
    發(fā)表于 06-25 00:57

    智能手機充電頭OCR精準識別

    文本是人類最重要的信息來源之一,自然場景中充滿了形形色色的文字符號。光學字符識別(OCR)相信大家都不陌生。而工業(yè)場景的圖像文字識別更加復雜,OCR出現(xiàn)在很多不同的場合,對某些特殊的表
    的頭像 發(fā)表于 06-11 08:24 ?518次閱讀
    智能手機充電頭<b class='flag-5'>OCR</b>精準<b class='flag-5'>識別</b>

    如何判斷觸摸屏用有機硅OCR/LOCA性能的優(yōu)劣

    判斷OCR/LOCA性能的優(yōu)劣
    的頭像 發(fā)表于 02-29 10:48 ?671次閱讀

    NI視覺圖像轉halcon圖像

    labview采集圖片可用用它轉halcon,就可用使用halcon算子處理了
    發(fā)表于 02-21 16:35

    Labview調用Halcon識別二維碼

    Labview調用Halcon識別二維碼 可一次識別多個二維碼 使用Labview 2020編輯,halcon的版本是 19.11,32位
    發(fā)表于 02-21 16:31
    致胜百家乐官网软件| 百家乐2号技术打法| 大发888代充| 大发888娱乐网| 大发888娱乐城34| 香港六合彩直播| 百家乐官网起步多少| 百家乐官网娱乐天上人间| 百家乐官网3珠路法| 上海百家乐官网的玩法技巧和规则| 百家乐10法则| 至尊百家乐qvod| 富二代百家乐的玩法技巧和规则 | 百家乐官网证据| 百家乐官网真人博彩的玩法技巧和规则 | 百家乐官网是娱乐场最不公平的游戏 | 百家乐官网视频游戏中心| 帝王百家乐官网全讯网2| 百家乐官网路单走势图| 大连百家乐官网商场| 波音百家乐现金网投注平台排名导航 | 澳门赌博技巧| 博彩论坛交流中心| 维也纳娱乐城| 百家乐官网庄家赢钱方法| 百家乐官网网上玩法| 百家乐庄家胜率| 百家乐官网站| 威尼斯人娱乐城筹码| 贵族国际娱乐城| 百家乐官网游戏网站 | 网络赌场| 张家界市| 博E百百家乐官网现金网| 百家乐官网怎样玩的| 噢门百家乐注码技巧| 大发888官方我的爱好| 百家乐官网分析软体| 星空棋牌舟山清墩| 菲律宾百家乐官网的说法| 百家乐赌的技巧|