使用OpenCV优化RPG库存解析

时间:2018-02-18 09:26:18

标签: opencv image-processing

我正在尝试开发基于OpenCV的Path of Exile广告资源解析器。清单看起来像this, with items left and right.。项目上的圆形物称为“套接字”,是随机的,但它们可以隐藏。

有两种选择:

  • 当您在游戏中悬停某个项目并按CTRL-C时,该项目的说明会复制到剪贴板中。解决方案是在每个库存单元上执行此操作,以重新创建整个库存,每位钻头。但是这有一个问题:“项目复制”操作可能会记录在某个地方,并且在2秒内执行12 * 5 = 60这样的操作肯定会在GGG(开发者)端看起来很可疑。

  • 使用图像识别软件像人类一样分解库存。这有几种方法,我很难找到最有效的方法。

方法1:Sprite detection

这是“明显的”方法。存储游戏中每个项目的精灵(我认为所有基础和独特项目必须有大约900个精灵,如果我们排除独特的项目,可能大约250个精灵),并为每个项目执行精灵检测,就整个库存而言。毫无疑问,这是非常矫枉过正的。它需要大量的存储空间。丢弃。

方法2:反向子画面检测

对于游戏中的每个精灵,计算相关的md5,并将其存储在文件中。使用OpenCV,逐个剪切库存项目,计算其md5,并与文件匹配以检测它是哪个项目。这种方式可能更快,但仍然需要大量的处理能力。

方法3:与#2相同但更聪明

使用OpenCV逐个剪切物品,并根据它们的大小优化搜索(2x2项目意味着它可以是头盔,靴子,手套或盾牌.2x1项目始终是腰带.1x1总是戒指/护身符等等。

还有其他方法我忘记了吗?所有这些看起来都需要繁重的处理,代码和我的前期工作。

提前致谢。

0 个答案:

没有答案