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),如果没有找到返回空

    暗夜之中,才见繁星;危机之下,暗藏转机;事在人为,为者常成。
  • 相关阅读:
    递归实现随机数不重复问题
    今天写的一个工厂工具类
    Win7 x64 IIS运行ASP+Access故障完美解决方法(转)
    li中,标题和日期一排,且日期靠右
    [学习笔记] extends implements 的区别与联系 [转载]
    [学习笔记] vim使用大全 [转]
    MidPoint Displacement for Terrain Rendering
    CryEngine3 打造另一个真实世界
    Hello C++ AMP!
    DetailMap For Terrain Rendering
  • 原文地址:https://www.cnblogs.com/zenghansen/p/14957359.html
Copyright © 2011-2022 走看看