【问题标题】:Maintaining a shapes DB for indexed text highlight on images维护形状数据库以在图像上突出显示索引文本
【发布时间】:2021-09-07 11:19:33
【问题描述】:

在为我的用例设计解决方案时,我需要指导。 也就是说,我们有一本书 [图像],我们希望通过手动在每个句子上绘制形状并将其坐标和边界保存在数据库中来维护数据库来突出句子。
现在有没有工具可以快速做到这一点?就像在一张图像上绘制矩形并单击将它们导出到数据库? 以下是我将用于此目的的示例模型...

      public SentenceHighlight(int line, int position, int minX, int minY, int maxX, int maxY) {
    this(line, position, new RectF(minX, minY, maxX, maxY));
  }

  public SentenceHighlight(int line, int position, RectF bounds) {
    this.line = line;
    this.position = position;
    this.bounds = bounds;
  }

【问题讨论】:

  • 我对您的用例有点不清楚。它总是会是一个矩形吗?或者用户可以在屏幕上绘制任何形状并且您也想存储它?
  • 是的,它永远是 React。我想将它们保存为索引,以便维护秩序。

标签: android android-canvas shapes


【解决方案1】:

好的,所以我猜你有多个句子,你使用Rect 形状来突出它们。再次强调一下,我假设您使用的是Canvas.drawRect(Rect)

如果是这种情况,那么您可以将配置保存为 Json 格式。基本上,您将拥有一个Map<Sentence, Rect>。你已经有了你的模型,所以你可以使用相同的。

没有任何工具可以让您自动执行此操作。但无论如何,它应该很容易构建。您所要做的就是继续将您的 Highlights 添加到 Map,然后一旦准备就绪,您就可以使用 Moshi 或 GS​​ON 并从中获取 Json 并将其保存到 DB。

【讨论】:

  • 是的,这是个好主意,我已经做过类似的事情了。我希望,如果有办法。
  • 我已经阅读了一些人建议使用 matlab 和导出 json 的线程。但我完全不知道这些工具的使用情况。
  • 我认为您不需要所有这些,因为您要保存的模型非常简单。您可以使用它的 Bounds(只有 4 个整数)来表达 Rect。所以这里最简单的解决方案是获取地图,并将其转换为 Json 并保存。您可以将其取回,然后再次绘制 Rect。如果是一本书,你可以每页一个json,这样你就可以快速解析和阅读。
猜你喜欢
  • 2013-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-31
  • 2020-02-20
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多