:2.824MB : :1 :2019-12-25 09:11:52
识别思路
1、首先把图片转成BMP位图格式,位深度为8,刚好一个像素占一字节,因为位图的颜色数据是有序排列的字节集,我们可以通过<寻找字节集>命令快速定位到我们需要找的特征处。
处理特征,这里我们要识别的是“时”字,我就在PS把具有代表性的,相对清晰的“时”字截出来,看下图。。源码里有说明标注!!!
1.网上混了也有一段时间了,我在现实生活中的工作是在土建工程公司,平时基本在施工现场。没有多少时间码字。。。对于代码格式没有过多整理了。。大家将就看吧。。。嘻嘻。。
大学时学过C语言,现在基本忘记了,今天分享源码调用了模块,希望大家一起学习~进步。。不喜欢的大侠勿喷!
2.具体是哪款游戏不知,客户提供的截屏图片。。。
3.要求识别速度要快!
4.功能代码写好后联系客户一直未回复!
.如果真 (列数 < 784 且 行数 < 488 且 行数 > 20) ' 判断下是否越界
构造方向 = 0 ' 这个只是要来判断是否找到相似特征的标记,初始下为0.
.计次循环首 (4, 计次)
起始位置 = (行数 + 计次) × 804 + 列数 ' 1 这个就是从第一步找到黑点的位置往上找3个像素,共4个点
d1 = d1 + 取字节集中间 (大图颜色数据, 起始位置, 1)
.计次循环尾 ()
.如果真 (d1 = { 0, 0, 0, 0 }) ' 2 看上面找的这列是否都是黑色像素,“时”的第一笔画,满足就进入再寻找下步特征
.计次循环首 (5, 计次)
起始位置 = (行数 + 计次) × 804 + 列数 + 1
d2 = d2 + 取字节集中间 (大图颜色数据, 起始位置, 1)
.计次循环尾 ()
.如果真 (d2 = { 255, 255, 255, 255, 255 }) ' 3判断是否是白色像素
d2 = { }
.计次循环首 (6, 计次)
起始位置 = (行数 + 计次) × 804 + 列数 + 11
d2 = d2 + 取字节集中间 (大图颜色数据, 起始位置, 1)
.计次循环尾 ()
.如果真 (d2 = { 255, 255, 255, 255, 255, 255 }) ' 4判断是否是白色像素
d2 = { }
起始位置 = (行数 + 4) × 804 + 列数 + 11
d2 = d2 + 取字节集中间 (大图颜色数据, 起始位置, 3)
.如果真 (d2 = { 255, 255, 255 }) ' 5判断是否是白色像素
d2 = { }
起始位置 = (行数 + 3) × 804 + 列数 + 9
d2 = d2 + 取字节集中间 (大图颜色数据, 起始位置, 4)
.如果真 (d2 ≠ { 255, 255, 255, 255 }) ' 6判断是否是全黑色像素
构造方向 = -3 ' 以上六个特征都满足的话,很可能就是我们要找的位置了,
.如果真结束
.如果真结束
.如果真结束
.如果真结束
.如果真结束
.如果真 (构造方向 ≠ 0)
调试输出 (“行+列”, 行数, 列数)
s = 行数 + 构造方向
构造字节集 = { }
.计次循环首 (12, ) ' PS截出来的样本高度是12像素
起始位置 = s × 804 + 列数
构造字节集 = 构造字节集 + 取字节集中间 (大图颜色数据, 起始位置, 16) ' 宽度是16像素
s = s + 1
.计次循环尾 ()
' 根据上边6步的判断,我们用这个循环把图像数据取出来,用来和样本对比相似度!!
连续赋值 (0, 相同个数, 不相同个数, 白色点个数, 黑色点个数)
.计次循环首 (取字节集长度 (样本字节集), 计次)
.判断开始 (样本字节集 [计次] = 0 且 构造字节集 [计次] = 0)
黑色点个数 = 黑色点个数 + 1
.判断 (样本字节集 [计次] = 255 且 构造字节集 [计次] = 255)
白色点个数 = 白色点个数 + 1
.判断 (样本字节集 [计次] = 250) ' 样本中绿色的点跳过,不做比较
.默认
不相同个数 = 不相同个数 + 1
.判断结束
.计次循环尾 ()
计次 = 0
相同个数 = 白色点个数 + 黑色点个数
.如果真 (相同个数 > 80 且 白色点个数 > 20 且 黑色点个数 > 55) ' 根据统计相同位置相同颜色的个数等 判断相似度
调试输出 (“xbxt”, 相同个数, 不相同个数)
坐标.横 = 列数
坐标.纵 = 501 - 行数 + 3
跳出循环 ()
.如果真结束
.如果真结束
.如果真结束
x = 寻找字节集 (大图颜色数据, { 0, 255 }, x + 2) ' 上面所以得判断都不满足条件,那就继续寻找!!!
处理事件 ()
02-17会员管理插件源码
02-16动态创建菜单与响应事件源码,菜单编辑器
02-15模拟器中控游戏基础脚本上添加了云控端
02-09画板快捷启动3.2源码修改版
02-09王者荣耀战力小程序源码分享
02-09简单的指定颜色抠图源码
02-05WinLicense授权SDK源码
11-04福昕阅读器打开PDF提示脚本错误解决方法
09-07C++的string的实现源码分析