如何在实时预览相机中使图形叠加元素响应?

How to make graphic overlay elements responsiveness in live preview Camera?

目前我正在开发一个实现对象检测/跟踪的项目,但现在我需要添加一个新功能,当用户想要选择使用实时相机预览检测到的元素时,可能 select 它接触到边界框中心的十字线元素。

我的应用looks目前是这样的。

现在我可以绘制一个自定义的边界框和一个适合边界框中心的自定义十字线,我还可以根据需要显示多个边界框与多个对象检测。到目前为止,这就是我能做的。我看到在 2019 年的 ML Kit a video 演示中,他们使用了另一种使用实时预览相机的方法,他们的管道包括让相机保持几秒钟来进行搜索。我想做类似的事情,但不是拿着相机等几秒钟,我想给应用程序用户选择元素的机会。
我用 ML Kit Vision Quickstart Sample App and ML Kit Showcase App with Material Design 作为我项目的基础,我能够成功实现两个项目的不同内容。
我目前使用 kotlin,但我也可以使用 Java 代码,所以没问题。另外,如果大家觉得有必要的话,我可以加代码。

如果您还使用单个自定义视图来绘制所有这些边界框和标线,就像 MLKit 示例所做的那样(例如 GraphicOverlay in the MLKit Showcase App), then you can override its #onToucheEvent 方法来模拟标线元素上的点击事件(触摸点在标线内area),触发后为所欲为。