个人对找图功能原理的理解.docx_第1页
个人对找图功能原理的理解.docx_第2页
个人对找图功能原理的理解.docx_第3页
个人对找图功能原理的理解.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以前用找图功能老是失败,今天总结点经验和大家分享一下。 其查找的原则是按照颜色查找,只要script文件夹中的图片部分或者全部颜色(也就是所谓的相似度)符合脚本运行时的屏幕中的图形就可以找的到。也就是说只要在目标窗口中找到源图片就可以了,只要在目标窗口中存在源图片中的90%或者100%就可以查找成功。 但其支持的颜色是比较少的。只支持24色查找,复杂的不行。所以最好将图片处理成单色或者是双色。 还有一点就是图片的大小对按键中的图片查找功能是有很大影响的。一定要保持源图和目标图中的相对像素相同。通俗的来讲,按键是将源图中的每个像素和目标窗口进行比对,如果目标窗口中的有符合的部分图片,查找就成功。 我表达比较差,下面我们来做个实验。 示例:(脚本中设置的相似度均为0.9)源图:要查找的图形目标图:被用于查找函数的对象 源图1(见下)(大小:80*33 像素) 在源图1中我们只有2个颜色,白色和绿色,这个图片是放在script文件中的用于查找功能的源图片,如果我们运行的脚本时出现出现了类似目标图1的图片(见下)(目标图片).运行脚本后,脚本是可以找到图片的。虽然这个图片中多了源图的部分颜色,但是在屏幕窗口当中存在80*33像素大小范围的图形,而且在这个80*33像素大小范围中,在相对位置上存在与源图一样的颜色,所以就找到了.但有的朋友会说白色不符合,根据我的经验白色和透明在这个找图功能中是一个含义,白色即意味着没有像素,那么前面的源图1中就只存在一个颜色那就是绿色,而目标图1中就只存在2个颜色,绿色和褐色(乱说的)。简单的讲,因为在这个目标图片中,在相对位置上存在上述图1中的90%或者是100%。我想这个就是为什么那些前辈们要我们做图片四周透明(白色)处理的真正原因,这样就可以与游戏兼容性掉一些变化的颜色.图片的四周透明处理最好选用photoshop做,这样做出的图片会更细致,系统自带的做图软件处理图片比较粗糙.这样白色处理后可以突出主图形,当然这个图形应该是在游戏中是不变的。 下面,我们改变一下目标图片的大小:见目标图2 再运行脚本就没办法找到了。因为在屏幕范围内不存在80*33像素大小范围的,并且和源图片90%或更高相似度的图形。所以查找失败。 所以在用找图功能的时候最好选择简单的查找对象,被查找到的几率也就越高。最好是NPC的名字,物品的名字,当然也可以用整个物品的单色或较少颜色的图象,在2D游戏当中这个实现起来比较简单,在3D中实现就比较困难,特别是3D中的包满回程找NPC的问题(我个人见解是用这个功能,不知道对不对,呵呵),因为不同玩家的视角不一样,所以图片也会不一样,但如果视角一直不变,那也是可行的。不知道这个功能到底怎么写,望高手指教。 对不起各位,上面讲的不是真正的原理(要上课没办法,没时间,晚上还要自习,没真正理解,误导各位了),下面我补充以下几点 注:源图是放在按键script中的图,目标图是显示在电脑屏幕上的图片,是查找函数作用的对象。 首先我们来看下面这句话(是程序的制造者说的) 按键是自动判断外面一圈的颜色,并且把外面一圈的颜色作为透明色。 褚瑞 我们要知道的是这个判断的对象是目标图还是源图呢?答案是源图 下面做个实验,还是取上面的材料,见源图2。接着我们插入一个目标图(目标图3),进行查找。因为源图2中的外围是白色,然后把白色当作透明色,所以在源图2中就只有绿色和类似绿色的颜色。其他的都是透明的。所以在目标图3中可以找到这个源图2。然后我们对源图进行处理得到目标图4,接着运行脚本发现也是可以找到的,这就近似的证明了这个判断的对象是源图2。最后我们将目标图4和源图2进行交换(目标图成为源图,源图作为目标图),发现无法找到,这就完成了整个证明过程。因为交换后的源图片当中多了黄色这个色素,然后将白色(外围色)作为透明色,那么源图中就有了黄色和绿色这2个色素。但目标图中不存在在相对位置上的类似的色素,只存在绿色色素,也就无法找到了。 上面前辈的话也就可以改成: 按键是自动判断源图外面一圈的颜色,并且把源图当中外面一圈的颜色作为透明色,而且按照这个色素对源图中的相同色素进行透明处理,然后与屏幕中的与源图同样的像素空间大小上的色素进行相对比较。如果有90%相似或者更高的相似度,则成功,否则失败。 下面我要证明的是:到底白色在按键当中是不是透明色(或许是只对我自己证明而已),我们还是使用上面的原材料。在目标图上运行图片查找功能,发现找不到。如果白色是透明色的,在对源图进行处理时,得到的应该是绿色和与绿色相近的2.3种颜色,刚好与目标图片在相对范围和相对位置上对应。但是却找不到,这就证明了白色在按键当中就是RGB当中的255 255 255的真正白色调。而且按照设计程序的角度来看的话,这个颜色也是不会被忽略掉的。对不起误导了各位。 接下来是关于,按键到底支持16色和24色的讨论。所谓的16色就是用2个字节,也就是16bit存储图片中每个像素的信息,那么16色模式可以表示的颜色总数为2的16次方,也就是65536种颜色,我想这么庞大的颜色库,已经完全可以涵盖大部分游戏中的颜色。而24色的颜色,也就是1个像素的信息用24bit表示,也就是3个字节,总计为1600多万的颜色数量,至于32位色,因为要下载全新的显卡驱动程序,而且对显卡的要求也很高,很少有用户或者软件支持32色,并且其多出的8位是用于明度通道,用于控制透明度,对整个图片显示不造成任何影响,肉眼也是无法感知的,所以可以将这种颜色模式不列入考虑的范围。借于以上,一般的程序或者软件支持的是24色,所以我个人的看法是24色,想听下各位的见解。因为是如此模糊的认识,所以我建议大家不要让图片的边缘存在太多的渐变色,最好就是红色就是红色,而不要取红色的边缘色(用photoshop放大后就能看到)。 下面我对找图的应用在个人角度做一下总结 1.截下来的图片一定要经过处理,最起码的要把图片的边缘用相同的颜色进行处理(推荐选白色),处理后要放大看下图片的边缘是否有杂色,以免造成影响。关于处理的工具最好用photoshop,选择其中的魔棒.替换颜色.放大功能.图形直接填色.滴管等功能,系统自带的当然也可以(放大功能只支持一次不好),论坛的前辈们发过处理的教程,推荐去看看。最好要将图片放大最大后看看是否有杂乱的像素就可以了。 2.要注意语句的格式,图片名称两旁要加双引号。 3.选择图片要尽量简单不要包含太多不同的色素,选择在能达到目的的情况下,选择最简单的途径。最好是NPC的名字,物品的名称,物品的单色或含有较少颜色的图片等。 4.保持源图和目标图的大小相同。 呵呵,写了一堆废话,感谢看到结尾的朋友,寻找爱编程的朋友。 本帖最后由 f51886 于 2008-10-7 14:22 编辑 2.jpg (15.55 KB, 下载次数: 175) 2008-10-5 20:23 上传下载次数: 175源图1(大小:80*33 像素)9.jpg (16.08 KB, 下载次数: 83) 2008-10-5 20:23 上传下载次数: 83目标图1(大小:80*33 像素)11.jpg (17.06 KB, 下载次数: 45) 2008-10-5 20:23 上传下载次数: 45目标图2(大小:90*50 像素)源图2.jpg (15.55 KB, 下载次数: 44) 2008-10-6 22:02 上传下载次数: 44源图2目标图3.jpg (15.52 KB, 下载次数: 40) 2008-10-6 22:02 上传下载次数: 40目标图3目标图4.jpg (16

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论