-
关注Ta
-
- 注册时间 2014-10-29
- 最后登录 2016-05-06
-
- 发帖84
- 在线41小时
- 精华0
- DB768
- 威望0
- 保证金0
- 桃子0
- 鲜花0
- 鸡蛋0
-
访问TA的空间加好友用道具
|
CmpColorEx、FindMultiColor 命令详解
本文由按键学院
提供技术支持 按键学院交流①群(1群已满):376122403
按键学院交流②群(2群)
:372671254 按键学
院交流③群(3群):170084238
【按键学院】安卓课程(115768679) 引用 在编写安卓脚本的时候最经常用到的就是找图找色的命令了,对于新手来说在可能对于多点
找色的命令不熟悉,所以今天小编就给大家详细说说两个常用的多点找色的命令,希望对于新人有所
帮助
[tr=YellowGreen] 命令解释 CmpColorEx 命令 范例:- If CmpColorEx("300|500|FFFFFF|123456-102030,305|505|FFFFFF",0.9) = 1 Then
- TracePrint "全部点颜色相等"
- Else
- TracePrint "颜色不相等"
- End If
FindMultiColor 命令 范例:- Dim IntX,IntY
- FindMultiColor 0,0,0,0,"FFFFFF-000000","4|1|2F9772-000000|123456-101010,3|7|
- 378757",0,0.9,intX,intY
- If intX > -1 Then
- TracePrint "找到啦,坐标在"&intX&","&intY
- Else
- TracePrint "没找到"
- End If
[tr=YellowGreen] 学会选择合适的命令 这两个命令咋一看,好像都一样,都是多点找色。对于有选择困难症的人来说简直是逼死人啊。
其实呢,仔细观察这两个命令,可以发现有一个最大的区别:CmpColorEx 命令是对比固定坐标点的颜色的;FindMultiColor 命令是用来对比相对第一点的偏移点的颜色的。
CmpColorEx 命令主要参数:"300|500|FFFFFF-000000,305|505|FFFFFF", 其中 “300”和“500” 是x和y坐标点,“FFFFFF”则是代表这个坐标点的颜色,“000000”是这个颜色的偏色值,所以这 个命令的原理就是逐个的对比这些指定坐标点上的颜色,如果全部相同,则判断为找到这个特征 FindMultiColor 命令主要参数:"FFFFFF-000000","4|1|2F9772-000000,3|7|378757" 其 中"FFFFFF-000000"是第一个点的颜色值以及偏色,后面的“4|1|2F9772-000000”则是根据找到的 第一点符合要求的颜色坐标来进行的偏移坐标,x轴往右偏移4个像素点,y轴往下偏移1个像素点,然 后进行比较该点的颜色是否是“2F9772” ,当全部的偏移点颜色都符合要求的时候就返回找到的第 一个点的坐标。 这两种不同的特性就决定了这两个命令的使用环境不同,简单的来说就是引用 要找固定坐标的特征就用CmpColorEx 命令 要找坐标变化的特征就用FindMultiColor 命令
[tr=YellowGreen] 学会更好的取特征点 多点找色命令知道了,如何选择合适的命令也知道了,那剩下的就是取多点的特征
了。新手取多点的特征的时候容易犯下面的这两个毛病 1、认为取的点越多越好。往往一个比较明显的特征也会取将近10个特征点 2、随意取点。在取点的时候不对特征进行简单的分析,随便取了几个点就完事了 这两种方法一般情况下虽然并不会造成多大的事情,但是并不严谨 正确的取特征可以参考以下的要点引用 1、点数不宜过多,也不宜过少(多点找字除外)。通常是先观察这个特征以外的环境,是否
和这个特征容易混淆,如果不易混淆的话,那只要取4-6个点即可,反之可以相应的增加取点的数量 2、取点的时候需要注意一点,尽量不要取边缘化点,尽量选取一些周围有相同或者相似颜色的坐标
点。因为需要考虑到不同分辨率下对于画面的拉伸程度可能不同,如果过于边缘化的话兼容性会降低
取点过多,一定程度上会影响效率: 取点过随意,导致容易出现误判: 正确的取点不同点的颜色尽量做到有差异,容易形成唯一的特征: [tr=YellowGreen] 后记 这次的多点找色命令就介绍到这里,如果大家有什么疑问或者建议,可
以在这个帖子里留言说明。同时大家希望能在院刊中看到什么样的教程,也可以回帖哦~~
院刊目录http://bbs.anjian.com/thread-549014-1-1.html
|