【问题标题】:Dynamically Crop image with JS用 JS 动态裁剪图像
【发布时间】:2018-11-06 09:45:52
【问题描述】:

我想提取一个带有 JS(普通)的游戏的对话并只获取文本气泡。 裁剪 和图像并不难,但遗憾的是图像的尺寸和比例会发生变化。这是之前和之后的图像

原始(已删除消息):

然后自动裁剪:

如何裁剪?所有文本都被保留,但除了文本之外没有其他内容(我需要这个,因为我正在通过 tesseract 将其转换为文本数据 它对图像中的其他一些东西感到困惑)。我的目标是拥有这个完全的客户端,因此不能使用 PHP。图像比例和尺寸也会发生变化。它总是会是风景,但有些实际上是方形的,而另一些则很长很短。这可能吗。我可以使用某种人工智能模型来捕捉它吗?任何帮助是极大的赞赏。谢谢!

编辑

这款游戏是 Brawl Stars,可在 iOS 和 Play 商店中获得。 点击系统会非常困难,它是由 Supercell 制造的,根据我的经验,他们的应用程序被很好地锁定了。 所有 api 都关注战斗结果而不是对话。

【问题讨论】:

  • 如果您在问题中添加一些代码,这将非常有帮助...
  • @DragosRizescu 这也很难。我不知道哪个图书馆会这样做。
  • 如果您正在捕获聊天内容,为什么不从气泡中捕获确切的文本呢?
  • @PaulGMihai 我不确定我是否在关注你。如果我只使用纯屏幕截图(唯一的输入)来进行 tesseract 它会产生很多错误,并且对话实际上是其他文本不可替代的。如果我要使用裁剪后的图像,我会完美地进行转换。
  • 错误的方法,你的屏幕抓取是通过对屏幕拍照,尝试裁剪然后通过 ocr 软件运行,而不是拦截或挂钩来自你的游戏服务器的 api 响应将拥有您的文本,无需 AI。

标签: javascript html


【解决方案1】:

在我回答之前,我应该注意一些事情。 首先,这是一种非常糟糕的做事方式,希望有一些你可以挂钩的 JavaScript,或者它甚至可以向 DOM 显示内容。我不知道这个游戏,所以我不能告诉你,但你肯定应该寻找替代解决方案,而不仅仅是抓取视觉效果。 其次:在不知道您正在使用什么库或语言或代码的情况下,提供示例代码有点棘手,但是...

执行此操作的最佳方法可能是首先寻找屏幕上易于识别的角落,然后使用这些角落找到您正在寻找的区域。 类似于左上角与顶栏相交的地方。 也许从对话气泡中获取右下角,或者只使用文字右下角。

或者,您可以尝试找出 它如何扩展并适当地编辑您的代码,但这不是一个有趣的方法...

【讨论】:

  • 谢谢,对虚荣感到抱歉,是否有某种图书馆可以做到这一点?
  • @JackStoller 您应该等到收到更多回复后再将其标记为正确。
  • stackoverflow.com/questions/3351122/… 还有trackingjs.com 没有提到。我通常不在 javascript 中执行此操作,所以我不完全确定哪些是“最好的”。
猜你喜欢
  • 2012-11-18
  • 2022-01-23
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
相关资源
最近更新 更多