大家好,我是公众号3分钟学堂的郭立员,今天给带来一期基础知识的文章,主要讲一下找图、多点找色、找字之间的联系与区别,这是一篇基础原理的教程,可能会有些枯燥 。
由于篇幅比较长,分两期更新 。本期主要讲找图的原理以及偏色的原理 。
图色原理
无论是找图、找色、比色、找字这些命令都可以统称为图色命令,所有图色命令都有共同的特点,就是它们针对于图像像素点的颜色值和位置进行处理的 。
图像像素点是什么
我们把图像放大会发现,图像是由一个个颜色块组成的,由于这些颜色块非常小,在不放大的情况下,我们是看不出它们有明显分块界限的 。那这些带有颜色的小方块,就是图像的像素点 。
像素点通常是近似正方形的,这里我用的是近似,它是由显示器屏幕的硬件决定的 。
像素点是在一个二维平面上排列的,分为横向和纵向,大量的像素点排列在一起就组成一张图像了 。
找图命令的原理
还是以上面那张图为例,我们截取一个4*4的图片,开始找图 。
这里我把4*4图片的每一个像素点都标注了序号,一共是16个序号 。
下面说一下找图的过程,我以从左上到右下顺序的找图为例 。
①从马里奥图片左上角的第一个像素开始,寻找序号1像素点的颜色值,如下图那样一个个像素进行比对 。
②假设找到了和序号1一样颜色的像素点,记录一下这个点的位置 。
③开始对上一步中找到点的下一个像素点和序号2的颜色比对是否一样,如果一样的话,再用下一个像素点颜色比对序号3的颜色,依次类推一直比对到序号16的颜色 。比对颜色也是按照4*4的位置比对,就是序号1-4是第一行,序号5-8是第二行……
④上一步比对序号2-16颜色有两种可能性:
一是完全一样,如果完全一样说明我们找图成功了,找图命令返回步骤②记录的位置,也就是我们常用的intx,inty 。
二是比对到某个序号颜色值不一样,说明比对失败,继续从步骤②位置的下一个像素点开始,找寻序号1像素点的颜色,循环上面的操作,以此循环往复 。
⑤循环比对所要找图区域内的所有颜色,如果比对完所有颜色都没有比对成功,说明找图命令没有找到图,为了方便脚本判断,会把-1赋值给intx,inty 。
以上这些步骤就是找图的原理 。
那么想一下哪些因素会影响找图速度?
①获取像素点颜色值的快慢,这也是为什么用“截图到内存命令”会提高找图速度的原因 。
②计算数据的速度,也就是比对两个像素点颜色值是否一样的用时 。
③所要找的图片越靠前找到用时越少 。
④序号1像素点在整个找图区域内出现的次数,次数越多可能比对的时间就多,这里用“可能”是因为如果第一次或者前几次出现就找到图了,下面的就不需要继续比对了 。
⑤所找图的图片尺寸越小速度越快,比如文中的例子是4*4的图,只要比对16个颜色就可以,如果是50*50就要比对2500个点 。当然对于现在计算机来说,16和2500的计算用时的差距是微乎其微的,但是如果进行循环找图,比如循环1万次,16万和2500万,用时就会有明显的区别了 。
针对截图在说一下,是不是图片越小越少,不是的,如果只有1个像素点,那么会有大量的重复可能性,从而导致找图找到错误的位置,我们截图本着一个原则:在保证截图具有唯一标识性的前提下,图片越小越好 。
偏色和相似度
使用找图命令的时候,还有两个参数,它们在上面找图原理没有说到,就是偏色和相似度 。
推荐阅读
- 七年级地理中如何判断东南西北 中国的地理常识
- 指示代词专项训练及答案 指示代词有哪些
- 方舟指南针怎么使用 指南针如何使用
- 灭火器1a55b是什么意思,灭火器13b 5f代表什么
- cdr字体怎样才能安装,cdr字体怎么安装字体
- 宣纸的种类与如何选择宣纸的方法 宣纸分类
- 公认六类导致失眠的心理原因 导致失眠的原因
- 上海徐记海鲜
- Steam Deck掌机成功运行索尼PS Vita模拟器