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()
python调用mediainfo工具批量提取视频信息
写了2个脚本,分别是v1版本和v2版本 都是python调用mediainfo工具提取视频元数据信息 v1版本是使用pycharm中测试运行的,指定了视频路径 v2版本是最终交付给运营运行的,会把v2 ...
自然语言处理工具python调用hanlp的方法步骤
Python调用hanlp的方法此前有分享过,本篇文章分享自“逍遥自在017”的博客,个别处有修改,阅读时请注意! 1.首先安装jpype 首先各种坑,jdk和python 版本位数必须一致,我用的是 ...
python 调用 shell 命令方法
python调用shell命令方法 1.os.system(cmd) 缺点:不能获取返回值 2.os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等 ...
python调用hanlp进行命名实体识别
本文分享自6丁一的猫 的博客,主要是python调用hanlp进行命名实体识别的方法介绍.以下为分享的全文. 1.python与jdk版本位数一致 2.pip install jpype1(pyth ...
Python调用大漠插件
Python版本要用32位的?我去官网下载,太慢了,就在腾讯软件里面下载了一个,结果实验成功 import win32com.client dm = win32com.client.Dispatch( ...
python调用大漠插件教程03窗口绑定实例
怎样利用注册好的大漠对象来绑定窗口? 直接上代码,根据代码分析 from win32com.client import Dispatch import os from win32gui import ...
python调用大漠插件教程01注册大漠
使用大漠有两种方法,一种是直接调用特殊的dll实现不注册就能使(本人不会),另一种则是注册后使用. 如何用python注册大漠? from win32com.client import Dispatc ...
python调用HEG工具批量处理MODIS数据
下面的代码主要用于使用python语言调用NASA官方的MODIS处理工具HEG进行投影坐标转换与重采样批量处理 主要参考 HEG的用户手册:https://newsroom.gsfc.nasa.go ...
python调用aapt工具直接获取包名和tagertSdkversion
背景: 每次海外游戏上架都需要符合google的上架规则,其中适配方面tagetSdkversion有硬性要求,比如需要适配安卓q就需要tagetSdkversion达到28,水平太渣的我每次调用aa ...
随机推荐
C.C++把整个文件内容读进一个buffer中
原创文章,未经本人允许禁止转载. //C方式, 调用的函数繁多 //fopen,fseek,ftell,fseek,malloc,fread,fclose,free. void foo() { FIL ...
handler机制的原理
andriod提供了Handler 和 Looper 来满足线程间的通信.Handler先进先出原则.Looper类用来管理特定线程内对象之间的消息交换(MessageExchange). 1)Loo ...
使用supervisor的一些注意事项
一直都有在使用supervisor来管理linux上的服务进程.最近有同事说有某服务貌似有问题,让上去检查一下.上去以后发现某服务反应的确很慢,所以就用supervisor重启一下.但是重启的时候就发 ...
iOS多线程GCD 研究
Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法. dispatch queue分成以下三种: 1)运行在主线程的Main queue,通过dispat ...
javascript必知必会之prototype
本博客所有内容采用Creative Commons Licenses许可使用. 引用本内容时,请保留朱涛,出处,并且非商业. 点击RSS进行订阅.(推荐使用google reade ...
eclipse导入android studio时一些异常的处理
Error:Execution failed for task ':app:compileDebugNdk'. > Error: Your project contains C++ files ...
VS每次F5都重新编译代码,即使没有任何修改
遇到一个奇怪现象,不知道怎么设置了,突然工程的Release模式下,F5每次都要重新编译代码,而且是全部代码都重新编译 而Debug模式没问题 重启VS,重启机器,清理工程重新生成工程都无法解决 最后 ...
HDU 1527 取石子游戏 (威佐夫博弈)
题目链接:http://acm./showproblem.php?pid=1527 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是 ...
linux平台程序高精度延时问题select-usleep等
前言 微秒级别的延时... 1.能用 #include int usleep(useconds_t usec); 微秒级:1/10^-6 2 ...
解决不能修改 Mysql 慢查询 long_query_time 值的问题
起因:想修改一下自己电脑上的MySQL的 long_query_time 值,以此来测试 MySQL的慢查询功能. 可是,无论怎么改,show variables like 'long_query_t ...