• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

返回列表 12345678» / 9
发新话题 回复该主题

[技术交流] 【院刊】-【201506期】教教你多点找色的新姿势 [复制链接]

1#
本帖最后由 quitout 于 2015-6-24 17:24 编辑

关于多点找色的那些技巧



本文按键学院提供技术支持



按键学院交流①群(1群已满):376122403

按键学院交流②群(2群):372671254

按键学院交流③群(3群):170084238




小编发现在平时编写脚本的过程中,大家基本上都是会选择找图的方式,如果需要找的部分有背景的杂色,还会费力的把图片进行透明化处理。实在是累啊
其实呢,很多同学都忽略了另外一种命令,就是多点找色命令,只是可能一些同学觉得多点找色命令的参数设置起来很麻烦,所以都不愿意用这个命令。今天小编就给大家详细的介绍下多点找色的使用,以及一些常用的技巧

多点找色优点


在具体介绍多点找色之前,让我们先来体会下多点找色相比找图的优势在哪里。

这里已找桌面上计算机图标为例子,分别使用找图以及找色的方法,来看看他们花费的时间分别是多长
  1. //找图
  2. time_1 = Plugin.Sys.GetTime()
  3. FindPic 0,0,1024,768,"Attachment:\计算机.bmp",0.9,intX,intY
  4. If intX > 0 And intY > 0 Then
  5. time_2 = Plugin.Sys.GetTime()
  6. MoveTo intX,intY
  7. End If
  8. TracePrint "找图花费时间:" & time_2 - time_1

  9. //找色
  10. time_3 = Plugin.Sys.GetTime()
  11. XY=Plugin.ColorEx.FindMultiColor(0,0,1024,768,"F5F6F5","-10|1|FFFFFF,-15|2|CB1D00,-27|6|14F285,-7|16|CBE4E5",1,0)
  12. ZB = InStr(XY,"|")
  13. X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))
  14. If X > 0 And Y > 0 Then
  15. time_4 = Plugin.Sys.GetTime()
  16. MoveTo X, Y
  17. End If
  18. 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



 



谢谢大家阅读,记得给小编送支花花 ! 顺手点个


[tr=rgb(143, 188, 143)]

按键精灵交流群

腾讯课堂视频课程

按键学院交流①群(1群已满):376122403
按键学院交流②群(2群):372671254
按键学院交流③群(3群):170084238
安卓按键精灵交流群:115768679

按键精灵2014基础教学视频
Q语言零基础知识
按键精灵自动化脚本功能开发
按键精灵Q语言脚本开发
点我进入按键学院报名啦 招生细节进群咨询招生办主任





    已有4评分我要评分查看所有评分

    本主题由 超级版主 瑞祥幽冥狼 于 2023/10/5 18:26:34 执行 审核帖子 操作
    2#

    我是来学习学习的...啦啦啦

    3#

    谢谢分享

    4#

    先看看被。。。。

    5#

    3333333333333333QQQQQQQQQQQQQQQQ............................

    6#

    好想自己動手做一個手由掛機

    7#

    感恩學習~

    8#

    了解多点找色

    9#

    学习歇息。

    10#

    学习中

    11#

    是事实上事实上事实上事实上

    12#

    学习学习,支持支持

    13#

    教教你多点找色的新姿势

    14#

    ...................................

    15#

    学习

    16#

    看看

    17#

    多点找色一直忽略的命令

    18#

    教教你多点找色的新姿势

    19#

    13333333332333333333333333

    20#

    现在的脚本都是讲究一个效率,如果你的脚本运行效率更高,那就更有竞争力。

    <strong><font size="4"><font color="#0000EE">★交流学习★</font></font></strong>
    发新话题 回复该主题