本帖最后由 quitout 于 2015-6-24 17:24 编辑 关于多点找色的那些技巧
本文由按键学院提供技术支持
按键学院交流①群(1群已满):376122403
按键学院交流②群(2群):372671254
按键学院交流③群(3群):170084238
小编发现在平时编写脚本的过程中,大家基本上都是会选择找图的方式,如果需要找的部分有背景的杂色,还会费力的把图片进行透明化处理。实在是累啊 其实呢,很多同学都忽略了另外一种命令,就是多点找色命令,只是可能一些同学觉得多点找色命令的参数设置起来很麻烦,所以都不愿意用这个命令。今天小编就给大家详细的介绍下多点找色的使用,以及一些常用的技巧 |
在具体介绍多点找色之前,让我们先来体会下多点找色相比找图的优势在哪里。
这里已找桌面上计算机图标为例子,分别使用找图以及找色的方法,来看看他们花费的时间分别是多长
- //找图
- time_1 = Plugin.Sys.GetTime()
- FindPic 0,0,1024,768,"Attachment:\计算机.bmp",0.9,intX,intY
- If intX > 0 And intY > 0 Then
- time_2 = Plugin.Sys.GetTime()
- MoveTo intX,intY
- End If
- TracePrint "找图花费时间:" & time_2 - time_1
- //找色
- time_3 = Plugin.Sys.GetTime()
- XY=Plugin.ColorEx.FindMultiColor(0,0,1024,768,"F5F6F5","-10|1|FFFFFF,-15|2|CB1D00,-27|6|14F285,-7|16|CBE4E5",1,0)
- ZB = InStr(XY,"|")
- X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))
- If X > 0 And Y > 0 Then
- time_4 = Plugin.Sys.GetTime()
- MoveTo X, Y
- End If
- TracePrint "多点找色花费时间:" & time_4 - time_3
复制代码先看看小编电脑上运行的结果
- 您所在的用户组无法下载或查看附件
可以看到多点找色花费的时间比找图少了将近3倍左右!所以多点找色最大的优势就是消耗的时间少。别看这里只是少了几十毫秒,但是如果要同时找多个特征图色,那总体消耗的时间就会变得明显,现在的脚本都是讲究一个效率,如果你的脚本运行效率更高,那就更有竞争力。
先来看下多点找色的命令参数
命令名称 | FindMultiColor 区域多点找色 |
命令功能 | 范围区域内查找多点颜色 |
命令参数 | 参数1 整数型,屏幕左上角X坐标 参数2 整数型,屏幕左上角Y坐标 参数3 整数型,屏幕右下角X坐标 参数4 整数型,屏幕右下角Y坐标 参数5 字符串型,第一点16进制颜色值 参数6 字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色) 参数7 整数型,相似度
|
返回值 | 字符串型,左上角第一点颜色位置坐标 |
一些同学很少使用多点找色,可能就是觉得其中参数6的设置太麻烦,不知道如何去设置。其实这个参数有两种简单的设置方法
1、使用按键抓抓打开按键抓抓,切换到图像标签,在上方可以看到有个“抓多点”的选项,选择它之后就可以切换出抓多点特征的界面了
- 您所在的用户组无法下载或查看附件
接下来使用截屏把特征区域截图下来,然后鼠标移动到要抓取的特征点上,按下 ctrl+1 就可以抓取一个点
(这个抓点热键可能会和其他的软件有冲突导致热键失效,建议在开按键抓抓之前先把大漠工具之类的软件先退出)抓取了多个点之后,按键抓抓会自动把特征点列出来,我们只要直接点击生成代码,粘贴到脚本里就行了
- 您所在的用户组无法下载或查看附件
2、使用命令列表里插入在全部命令列表里找到
FindMultiColor 命令,点击这个命令会自动展开这条命令的参数设置,点击“转到图像处理界面”
- 您所在的用户组无法下载或查看附件
点击第一处按钮可以把当前剪切板里的图片复制上去,然后再点击第二处的按钮,在图片中选择几个特征点,(选择的特征点会自动以草绿色来显示)就像这样:
- 您所在的用户组无法下载或查看附件
选择好特征点之后就点击插入按钮就可以自动插入完整的多点找色的命令了。
多点找色他的关键技巧就在于要取哪些特征点
1、不同特征点尽量取不同的颜色 2、多点找色范围只需要包含第一个特征点即可 3、特征点的选取范围可以不用局限于小范围内 |
已这个图片为例子
- 您所在的用户组无法下载或查看附件
在选取特征点的时候尽量不要选择颜色相近的点,选择颜色差异较大的点可以大大降低误判的可能性。
在选择特征点的时候,如果想要找的特征出现的位置是固定的,那可以在当前的画面中选择一些距离比较远的点,来提高识别的成功率
比如下图:想要识别底部的“确认按钮”,但是因为这个按钮颜色都比较相近,那就可以选择当前画面中固定会出现的比较有特定颜色的点作为偏移点
- 您所在的用户组无法下载或查看附件
使用这样的找点方法,可以保证找到的点绝对是正确的。
相关院刊:在多点找色面前,单点找色就是个渣!showtopic.aspx?topicid=554055&forumpage=1&page=1院刊目录showtopic.aspx?topicid=549014&forumpage=1&page=1
谢谢大家阅读,记得给小编送支花花 ! 顺手点个赞