当前位置:网站首页 > 技术博客 > 正文

大家来找茬官方版



提示:本博文仅供学习交流,并无任何破坏游戏环境之意。



在规定时间内找出2张相似的图片中不一样的5处地方就算过关,一般是连续5回合,也就是5组图 25个错误地方。在总时间内找到最多最快的算胜利。

  1. 屏幕抓取
  2. 图片对比,找出不同之处
  3. GUI显示帮助信息

首先,获取游戏界面中两张相似图片。关键部分程序如下:

 

运行结果如下图所示:

img1.jpg img2.jpg

将获取的两张图片进行对比,找出不同之处。两张图片的不同之处总结起来有两点:颜色差异和轮廓差异。颜色差异可通过简单的三通道求差获取,轮廓差异可通过轮廓检测后求差获取(预期方案)。但是在实际对比两张图片时发现其实两张图片完全不一样,一方面两者有一定的色差,另一方面两者轮廓并非绝对重合,而是存在一定偏差。所以我觉得采用将两张图片叠加,然后生成GIF动图的形式辅助我们用肉眼快速找出不同。这种生成GIF图的方法能够找出两者的轮廓差异,但是在颜色差异上略显乏力(特别是深红色和紫色,两者闪烁我根本看不出来有变化。),所以此时需要用到色差图进行”补漏“。相关关键代码如下:

 

运行结果如下图所示:

diff.jpg diff.gif

本来是想通过获取图片不同之处的坐标值,利用win32api的mouse_event进行单击操作,实现完全的自动化操作。但是由于时间和精力限制,使用GUI显示辅助判断信息的方式取缔了上述方案。关键代码如下:

 

未解决BUG:静态图更新有延迟,一般gif更新后需再点击一次按钮才会更新jpg

版权声明


相关文章:

  • 在线ktv的软件2025-01-15 15:30:04
  • 聚合函数语法2025-01-15 15:30:04
  • python爬虫手机版下载2025-01-15 15:30:04
  • flex布局教程实例篇2025-01-15 15:30:04
  • 结构体指针如何定义2025-01-15 15:30:04
  • 数据结构导论知识点2025-01-15 15:30:04
  • devc++的使用方法2025-01-15 15:30:04
  • springcloud gateway 性能2025-01-15 15:30:04
  • select语句中的where说明2025-01-15 15:30:04
  • redis集群api2025-01-15 15:30:04