日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > ChatGpt >内容正文

ChatGpt

Halcon学习---光学字符识别(OCR)

發(fā)布時(shí)間:2023/12/29 ChatGpt 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Halcon学习---光学字符识别(OCR) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、?text_line_orientation

text_line_orientation(Region, // 輸入文本行所在區(qū)域Image, // 輸入圖像CharHeight,?OrientationFrom, OrientationTo, // 限定查找角度范圍最小、最大角度OrientationAngle) // 輸出計(jì)算文本行的旋轉(zhuǎn)角度
  • 定義:決定了單個(gè)文本行或段落相對(duì)于水平圖像軸的方向。如果要確定單個(gè)文本行的方向,則OrientationFrom和OrientationTo的范圍應(yīng)該在-pi/4到pi/4的區(qū)間內(nèi)

  • 說(shuō)明

  • Region:指定文本行所在的圖像區(qū)域,該區(qū)域僅用于減少工作面積。文本行由操作符text_line_orientation本身分割。如果傳遞了多個(gè)區(qū)域,則方向角的數(shù)值存儲(chǔ)在元組中,元組中值的位置對(duì)應(yīng)于輸入元組中區(qū)域的位置

  • CharHeight:指定區(qū)域region中現(xiàn)有文本行的大約高度

  • 搜索區(qū)域可以由參數(shù)OrientationFrom和OrientationTo限制,因此也會(huì)影響操作符的運(yùn)行時(shí)間

  • 如果輸入?yún)?shù)設(shè)置正確,操作符text_line_orientation返回值TRUE,否則將引發(fā)異常

  • 應(yīng)用:通過(guò)計(jì)算出的角度OrientationAngle和像affine_trans_image這樣的操作符,可以旋轉(zhuǎn)圖像的區(qū)域,使文本線水平地位于圖像中,這可以簡(jiǎn)化OCR應(yīng)用程序的字符分割

2、?partition_rectangle

partition_rectangle(Region, // 要分區(qū)的區(qū)域Partitioned, // 輸出分區(qū)Width, Height) // 單個(gè)矩形的寬高
  • 定義:將輸入?yún)^(qū)域劃分為給定寬高的矩形,矩形在分區(qū)中返回

  • 說(shuō)明

  • 該區(qū)域總是被分割成大小大致相等的矩形。如果要求的矩形大小不能做到這一點(diǎn),則調(diào)整寬度和高度,使結(jié)果矩形的大小大致相等
  • 如果區(qū)域小于給定的大小,它的輸出保持不變
  • 只有當(dāng)區(qū)域的大小至少是由參數(shù)給出的矩形的1.5倍時(shí),才進(jìn)行分區(qū)

3、intersection?

intersection(Region1, // 區(qū)域1與區(qū)域2中的所有區(qū)域相交Region2, // Region1與之相交的區(qū)域RegionIntersection) // 返回交集的結(jié)果
  • 定義:交集計(jì)算Region1中的區(qū)域與Region2中的區(qū)域的交集

  • 說(shuō)明

  • Region1中的每個(gè)區(qū)域與Region2中的所有區(qū)域相交
  • 在Region1的各個(gè)區(qū)域與統(tǒng)一的區(qū)域相交之前,Region2的所有區(qū)域在內(nèi)部被統(tǒng)一為一個(gè)區(qū)域
  • RegionIntersection中region的順序與Region1中region的順序相同
  • 注意:允許空輸入?yún)^(qū)域。因?yàn)榭盏慕Y(jié)果區(qū)域是可能的,所以應(yīng)該適當(dāng)?shù)卦O(shè)置系統(tǒng)標(biāo)志'store_empty_region'

4、sort_region

sort_region(Regions, // 輸入需要排序的區(qū)域SortedRegions, // 輸出排序后的區(qū)域SortMode, // 設(shè)置需要排序的方式Order, // 設(shè)置遞增還是遞減排序RowOrCol) // 設(shè)置按照行排列還是列排列
  • 定義:根據(jù)區(qū)域的相對(duì)位置對(duì)區(qū)域進(jìn)行排序

  • 說(shuō)明:除“字符”之外的所有排序方法都使用區(qū)域的一個(gè)點(diǎn)。在參數(shù)RowOrCol = 'row'的幫助下,這些點(diǎn)將根據(jù)它們的行排序,然后根據(jù)它們的列排序。通過(guò)使用'column',列值將首先被使用

  • 注意SortMode參數(shù)的設(shè)置

  • 'character':區(qū)域被視為字符,可以水平或垂直讀取。它們按照RowOrCol給出的讀取方向排序,規(guī)范如下:

    • 'row':行,讀取方向首先從左到右,然后從上到下

    • 'col':列,閱讀方向首先從上到下,然后從左到右

  • 'first_point':按照第一個(gè)點(diǎn)排序,一個(gè)區(qū)域的第一行的最前面的點(diǎn)

  • 'last_point':按照最后一個(gè)點(diǎn)排序,一個(gè)區(qū)域的最后一行最后一列的那個(gè)點(diǎn)

  • ?'upper_left':外接矩形的左上角

  • ?'upper_right':外接矩形的右上角

  • 'lower_left':外接矩形的左下角

  • ?'lower_right':外接矩形的右下角

5、read_ocr_class_mlp

read_ocr_class_mlp(FileName, // 讀取文件路徑OCRHandle) // OCR句柄
  • 定義:從文件中讀取OCR分類器

  • 說(shuō)明

  • read_ocr_class_mlp讀取與write_ocr_class_mlp一起存儲(chǔ)的OCR分類器

  • 由于OCR分類器的訓(xùn)練可能花費(fèi)相對(duì)較長(zhǎng)的時(shí)間,因此分類器通常在離線過(guò)程中進(jìn)行訓(xùn)練,并使用write_ocr_class_mlp將其寫(xiě)入文件。在在線過(guò)程中,使用read_ocr_class_mlp讀取分類器,然后使用do_ocr_single_class_mlp或do_ocr_multi_class_mlp進(jìn)行分類

  • HALCON自帶訓(xùn)練好的文件:Document(文檔字體)、Industrial(工業(yè)字體)、DotPrint(點(diǎn)狀字體)。選擇的文件如果有NoRej表示允許出錯(cuò),如果選擇Rej對(duì)字符的要求將更嚴(yán)格,正確率也更高

  • 預(yù)先訓(xùn)練的OCR分類器是拿白底黑色字符訓(xùn)練的,所以識(shí)別時(shí)也要拿白底黑色的字符區(qū)域去進(jìn)行識(shí)別

  • 注意:如果參數(shù)有效,操作符read_ocr_class_mlp返回值TRUE。如果有必要,將引發(fā)異常

  • 使用OCR助手,選擇字體-點(diǎn)擊放大鏡后可以查看到當(dāng)前支持識(shí)別的字體內(nèi)容

6、do_ocr_single_class_mlp

do_ocr_single_class_mlp(Character, // 輸入需要識(shí)別的字符區(qū)域Image, // 輸入圖像OCRHandle,Num, // 設(shè)置識(shí)別數(shù)量Class, // 用MLP對(duì)字符進(jìn)行分類的結(jié)果Confidence) // 可信度 值范圍0~1
  • 定義:識(shí)別單個(gè)區(qū)域OCR使用OCR分類器OCRHandle計(jì)算由區(qū)域character和圖像Image給出的字符的最佳Num類,并返回Class中的類和Confidence中的類的相應(yīng)置信度(概率)

  • 說(shuō)明

  • 因?yàn)閐o_ocr_single_class_mlp可能返回多個(gè)類,所以Character只包含單個(gè)區(qū)域(單個(gè)字符)

  • 如果要在一個(gè)調(diào)用中對(duì)多個(gè)字符進(jìn)行分類,則必須使用do_ocr_multi_class_mlp

  • 在大多數(shù)情況下應(yīng)該使用do_ocr_multi_class_mlp,除非應(yīng)該顯式檢查次優(yōu)類

7、do_ocr_multi_class_mlp

do_ocr_multi_class_mlp(Character, // 輸入需要識(shí)別的字符區(qū)域Image, // 輸入圖像擺正之后的(必須是白底黑字)OCRHandle,Class, // 識(shí)別出來(lái)的結(jié)果Confidence) // 可信度 值范圍0~1
  • 定義:使用OCR分類器對(duì)多個(gè)字符進(jìn)行分類,使用OCR分類器OCRHandle為區(qū)域Character和灰度值Image給出的每個(gè)字符計(jì)算最佳類,并返回class中的類和Confidence中的類的相應(yīng)置信度(概率)

  • 說(shuō)明

  • 與do_ocr_single_class_mlp相反,do_ocr_multi_class_mlp可以在一次調(diào)用中對(duì)多個(gè)字符進(jìn)行分類,因此通常比使用do_ocr_single_class_mlp對(duì)單個(gè)字符進(jìn)行分類的循環(huán)要快

  • 然而,do_ocr_multi_class_mlp只能返回每個(gè)字符的最佳類。因?yàn)榭蓪⒅眯哦冉忉尀楦怕?參見(jiàn)classify_class_mlp和evaluate_class_mlp),因此很容易檢查一個(gè)字符是否被分類了太多的不確定性,這通常不是一個(gè)缺點(diǎn),除非類重疊太多,以至于在許多情況下必須檢查第二好的類才能決定字符的類

  • 在這些情況下,應(yīng)該使用do_ocr_single_class_mlp

  • 在調(diào)用do_ocr_multi_class_mlp之前,必須使用trainf_ocr_class_mlp對(duì)分類器進(jìn)行訓(xùn)練

  • 注意:Class中數(shù)字'\032'(或者顯示為'\0x1A')的字符串表示該區(qū)域已被分類為拒絕類

總結(jié)

以上是生活随笔為你收集整理的Halcon学习---光学字符识别(OCR)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。