按键精灵(大漠插件)识别屏幕上的文字

2023-10-18 07:10

本文主要是介绍按键精灵(大漠插件)识别屏幕上的文字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、注册大漠插件

1)首先下载按键精灵,新建一个脚本。

2)下载大漠插件,如下为安装目录

3)将dm.all,RegDll.dll拖到附件中,注册大漠插件

//释放“附件”中自己添加的文件到c:\dm目录中,释放Regdll.dll到plugin目录中
PutAttachment "c:\dm", "*.*"
PutAttachment ".\plugin", "Regdll.dll"//调用regdll.dll,注册大漠插件
Call Plugin.Regdll.reg("c:\dm\dm.dll")//创建一个大漠对象
Set dm = createobject("dm.dmsoft")//检查是否创建成功
ver = dm.ver()
If len(ver) = 0 ThenMessageBox "插件注册失败,检查系统是否禁用了vbs脚本权限"EndScript
ElseMessageBox "插件注册成功,当前使用的版本是:"&ver
End If

二、制作字库

打开大漠综合工具,如下图所示

1)点击抓图,截取要做成字库的文字

2)多点找色,通过选取截图上不同颜色的点,使二值化区域窗口能够成功显示目标文字

3)点击提取点阵(单个),使下方空白区域显示目标文字

4)点击提取点阵(多个),设置合适的行列间距,定义文字,回车,点击新建字库建立新的字库或者点击编辑字库修改已有字库。

5)点击按钮可以拷贝相应的代码。

三、文字识别

1)将上一步制作的字库拖入到附件中。

2)查找文字所在坐标的代码。

//释放“附件”中自己添加的文件到c:\dm目录中,释放Regdll.dll到plugin目录中
PutAttachment "c:\dm", "*.*"
PutAttachment ".\plugin", "Regdll.dll"//调用regdll.dll,注册大漠插件
Call Plugin.Regdll.reg("c:\dm\dm.dll")//以下为第5步中通过点击FindStr拷贝的代码
set dm = createobject("dm.dmsoft")
base_path = dm.GetBasePath()
dm_ret = dm.SetPath(base_path)
dm_ret = dm.SetDict(0,"w4.txt")  //设置字库
dm_ret = dm.FindStr(668,738,689,763,"上","4f4f76-000000|4f4f4f-000000|d1974f-000000|b57676-000000|4f76b5-000000|764f4f-000000",1.0,intX,intY)  //"上"为需要识别的文字//坐标,为-1表示没有找到
TracePrint intX
TracePrint intY
TracePrint dm_ret

3)识别文字的代码

//释放“附件”中自己添加的文件到c:\dm目录中,释放Regdll.dll到plugin目录中
PutAttachment "c:\dm", "*.*"
PutAttachment ".\plugin", "Regdll.dll"//调用regdll.dll,注册大漠插件
Call Plugin.Regdll.reg("c:\dm\dm.dll")//创建一个大漠对象
Set dm = createobject("dm.dmsoft")Call dm.SetPath(dm.GetBasePath())
Call dm.SetDict(0, "w4.txt") //设置0号字库
Dim wenzi// GetStr(), 第一个参数表示几号字库,2-5个参数表示识别范围,最后一个参数通过多点找色获得(可以通过第5步中点击FindStr拷贝)
wenzi = GetStr(0, 0, 0, Plugin.Sys.GetScRX , Plugin.Sys.GetScRY , "4f4f76-000000|4f4f4f-000000|d1974f-000000|b57676-000000|4f76b5-000000|764f4f-000000")TracePrint "识别到的信息:" & wenziEndScriptFunction GetStr(dic, a, b, c, d, col)'范围获取所有字库可识别字符,返回信息看大漠说明dm.UseDict dic'选择字库,当前为0号字库Dim temp_txt, temp_number, temptemp_txt = dm.GetWords(a, b, c, d, col, 1.0)'x|y|str   识别这个范围内所有满足条件的词组TracePrint temp_txtIf temp_txt = "" Then GetStr = temp_txtExit FunctionEnd Iftemp_number = dm.GetWordResultCount(temp_txt)TracePrint temp_numberFor i = 0 To temp_number - 1dm_ret = dm.GetWordResultPos(temp_txt, i, intX, intY)'获得该数字确切坐标If i = 0 Then GetStr = dm.GetWordResultStr(temp_txt, i)Else GetStr = GetStr & "|" & dm.GetWordResultStr(temp_txt, i)End IfNextIf GetStr <> vbNullString Then dm.GetWordResultPos temp_txt, 0, intX, intY'获取第一段字符坐标Else intX = - 1  : intY = - 1 End If
End Function

 

 

这篇关于按键精灵(大漠插件)识别屏幕上的文字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/231027

相关文章

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

eclipse安装subversion(SVN)版本控制插件

陈科肇 查看插件更新站点 网址:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA 网站截图: 根据自己的eclipse版本,选择需要的更新站点. 使用eclipse集成subservion插件 Help > Install New Software…> 等待下载安装插件…

Weex入门教程之4,获取当前全局环境变量和配置信息(屏幕高度、宽度等)

$getConfig() 获取当前全局环境变量和配置信息。 Returns: config (object): 配置对象;bundleUrl (string): bundle 的 url;debug (boolean): 是否是调试模式;env (object): 环境对象; weexVersion (string): Weex sdk 版本;appName (string): 应用名字;

Weex入门教程之2,Android Studio安装Weex插件

插件位置及描述 https://plugins.jetbrains.com/idea/plugin/8460-weex 貌似对windows还不是很支持,先放着吧。 安装 插件功能 先预览下都有什么功能 安装完成Weex插件后,如果在main toolbar找不到这些功能图标,那么就需要手动添加到main toolbar 添加到main toolbar 红框内就是

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬