制作大漠字库并用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()
posted @ 2016-06-16 16:37  zoro_robin  Views(16213)  Comments(0Edit  收藏  举报