1.制作字库
1.截取需要的图片
2.这里截取了“火狐主页”四个字,接下来抓取文字的颜色
3.颜色由是由三个部分组成,即R G B其中的R是由00-FF(16进制) 即0-255个数值表示。同样的GB都是一样的道理。这样就出现一个偏差的问题,需要加偏差来涵盖偏差内的所有颜色。
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()