zoukankan      html  css  js  c++  java
  • 大漠插件字库的制作和字符识别

    应用场景:

    当我们需要识别界面上面的字符(文字/数字/字母等)时,比如读取游戏里面的数值等。

    技术原理:

    其实就是多点找色,找图也是找很多像素点的找色,找色关键在于取色技术,找字符与找图的区别是,找字符是用字库的点阵去找色,然后字库映射了一个字符;找图是用图片的点阵去找色。

    制作大漠字库:

    网上有比较多的图文和视频教程,这里只做一些流程细节的补充,大概流程如下:

    大漠抓图(尽量只截图文字)-》偏色设置,勾选(坐标选取文字颜色的点,偏色选取非文字区域的颜色,原理就是截图区域内文字颜色和非文字颜色区分开来,以提取文字颜色的点阵)-》观察二值化区域文字的显示效果调整偏色-》点阵提取(注意如果是多个提取,截图也是截取了多个文字,然后设置行和列,就是我们的截图包含了多少行多少列)-》设置每个提取好点阵所代表的字符-》添加到当前字库(一般字库文件就在dm.dll目录下的dm_soft.txt文件)-》制作完成

    使用大漠字库:

    dm.SetDict(0, "dm_soft.txt")//设置字库文件,把这个字库文件编号为0

    查找字符串:

    dm_ret = dm.FindStr(0,0,2000,2000,"僵尸","ffffff-000000",1.0,intX,intY)

    参数解析:坐标代表查找的区域范围,僵尸代表查找的字符,f-0代表偏色,1.0代表精确程度,x,y代表找到的返回坐标

    识别字符串:

    dm_ret = dm.Ocr(0,0,2000,2000,"ffffff-000000",1.0)

    参数解析:一般用于数值识别等,dm_ret会返回找到的字符(比如:12345),如果没有找到返回空

    暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。
  • 相关阅读:
    java.lang.NoSuchMethodError:antlr.collections.AST.getLine() I
    T7 java Web day01 标签HTML
    T6 s1 day19
    T5 s5 Day18
    T5 s4 Day 17
    T5 s3 day16
    T5 s2 Day 15
    T5 s1 day14
    T4 S03 day 12
    T4 S01 day1
  • 原文地址:https://www.cnblogs.com/zenghansen/p/14957359.html
Copyright © 2011-2022 走看看