什么是字庫以及字庫的作用?
字庫是大漠插件特有的功能,字庫通過配合大漠插件中的在圖中找字的函數來使用,用來實現在圖中識別關鍵字的作用,以便於后來的操作以及判斷。
怎樣創建一個字庫,並在字庫中添加文字?
在大漠綜合工具的右上角有創建字庫的按鈕按常規流程操作即可在指定位置創建一個指定名稱的字庫。
創建好了字庫以后首先確認已經打開字庫。
使用抓圖功能(ctrl+1)來抓取要識別的部分(使用方法類似截屏),截取以后會在左邊的黑塊中顯示原圖,當選擇了調色的方式(左下角的區域)會在右邊的黑塊中顯示出二位圖。
如何選擇調色方式,調色的目的是什么?
調色的方式有三種,第一種是rgb,第二種是hsv,第三種是灰度。個人平時最常用的是rgb模式,我認為一般來說使用這個就夠了。(非專業意見)
調色的目的是使二位圖更加的清晰,從而獲取更加清晰的字體,提高字體識別率。(偏色是很重要的)
下一步,提取點陣。
在二位圖已經清晰的情況下,點擊界面中的提取點陣,這里分為多個和單個(整體)。一般使用單個,這樣識字率比較高。
當出現‘點’或是一些不連續的字(比如‘的’可能會被識別成白勺),可以單獨截取這個字體然后提取單個點陣再將其加入字庫中。(列間距和行間距可以根據實際需求調節,一般來說無需調節)
如何將點陣加入到字庫?
提取點陣以后在右邊會出現自己的點陣,根據點陣表示的字在 定義文字 處輸入該字,然后點擊回車添加到字庫。
已經建立好字庫,應該如何使用?
SetDict函數在綁定窗口時就初始化,這里只初始化一遍因為接口說明中說的很明白,該函數會耗費大量的時候。
在使用識字函數之前需要先設置當前使用的字庫(同一線程中,正在使用的字庫只能有一個,例:你有兩個字庫,字庫1中有你想要的字字庫2中沒有,當前使用的是字庫2,那么此時使用FindStrFastEx函數就無法識別到這個字)
設置字庫的函數為UseDict(具體自己參考接口說明),簡單地說就是使用那個字庫之前先切換一下,到你要找的字庫。
在大漠接口說明中的文字識別中有FindStrFastEx和FindStrFastE還有FindStrFastExS函數可以用來調用以識別字庫中的字,返回的坐標為找到字的左上角坐標。
下面附一張標注的圖片,不太全,僅供參考。
下面簡單介紹一個簡單的識字函數FindStrFastEx
FindStrFastEx有7個參數,前兩個為要檢測區域的左上角坐標xy,然后是右下角左邊xy,然后是一個字符串輸入你要找的字,然后是尋找時候的調色方式(可以復制大漠綜合工具中的色彩描述)格式也為字符串,最后是一個小數表示相似度。
找到之后返回一個字符串"id,x0,y0|id,x1,y1|......|id,xn,yn"
比如"0,100,20|2,30,40" 表示找到了兩個,第一個,對應的是序號為0的字符串,坐標是(100,20),第二個是序號為2的字符串,坐標(30,40)。
之后對該字符串進行分割取自己需要的部分即可(這里的坐標指的是左上角坐標)。