zoukankan      html  css  js  c++  java
  • 制作大漠字库并用python调用大漠工具方法来识别文字

    1.制作字库


    1.截取需要的图片

    1

    2.这里截取了“火狐主页”四个字,接下来抓取文字的颜色

    5

    3.颜色由是由三个部分组成,即R G B其中的R是由00-FF(16进制) 即0-255个数值表示。同样的GB都是一样的道理。这样就出现一个偏差的问题,需要加偏差来涵盖偏差内的所有颜色。

    3

    4.加完偏差会发现字体变清晰,点击提取点阵,再定义文字名字,就可以添加到字库了

    4

    2.用python结合字库识别文字

    1.加载dm.dll

    $regsvr32 dll文件路径

    2.编写python脚本利用字库识别文字

    #coding:gbk
    import win32com.client
    dm = win32com.client.Dispatch('dm.dmsoft')
    dm.setDict(0, 'c:dm_soft.txt')
    dm.useDict(0)
    
    """
    函数原型:
    
    string FindStrEx(x1,y1,x2,y2,string,color_format,sim)
    
    参数定义:
    
    x1 整形数:区域的左上X坐标
    y1 整形数:区域的左上Y坐标
    x2 整形数:区域的右下X坐标
    y2 整形数:区域的右下Y坐标
    string 字符串:待查找的字符串, 可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串
    color_format 字符串:颜色格式串, 可以包含换行分隔符,语法是","后加分割字符串. 具体可以查看下面的示例.注意,RGB和HSV格式都支持.
    sim 双精度浮点数:相似度,取值范围0.1-1.0
    """
    ret = dm.FindStrFastE(0, 0, GetSystemMetrics(0), GetSystemMetrics(1), "火狐主页", "000000-909090", 1.0)
    ret = ret.split("|")
    if ret[0] == u"-1" :
        print "find the word"

    3.此外,还可以用大漠实现鼠标移动、点击等。

    dm.moveto(x, y)
    dm.RightClick()
  • 相关阅读:
    HDU 4901 The Romantic Hero
    COGS8 备用交换机
    POJ 1466 Girls and Boys
    bzoj3442 学习小组
    bzoj2054 疯狂的馒头
    POJ2135 Farm Tour
    POJ 1149 PIGS
    Html5 Canvas学习之路(五)
    关于跨域简单总结
    vue-baidu-map 进入页面自动定位的解决方案!
  • 原文地址:https://www.cnblogs.com/zoro-robin/p/5591455.html
Copyright © 2011-2022 走看看