1

我会编写一个 Android 应用程序来检测从 Parrot Ar Drone 获得的视频帧中的对象。当模型包含无人机状态(如果正在飞行、新视频帧、导航数据等)时,我选择为此目的使用 MVC 模式。

为了检测一个物体(具体来说是一个球),我决定在要检测的物体的色调值上过滤图像,然后通过 OpenCV 应用 Huogh Circle 变换。为了获得要应用色调滤镜的toich颜色,我将创建一个校准活动,计算无人机摄像头前对象的直方图,当按下按钮时,此直方图会在模型中设置并新活动(因此可视化检测到的对象的新视图。我们称之为检测视图)被启动。

我必须在哪里计算直方图?在视图中,当新的视频帧从无人机到达时,通过从模型中获取视频帧还是在模型中?

我必须在哪里运行检测算法?在检测视图中还是在模型中?

4

1 回答 1

0

通常,您可以将您的活动称为 MVC 中的“控制”层。您希望将活动(和片段)中的逻辑保持在最低限度,因为尽管活动和片段作为一个整体可重用,但其中的部分逻辑却不是。

诸如检测图像或视频中的对象之类的计算,我不会放在模型对象中,因为它应该更像 POJO,只是保留数据。我会亲自为此创建一些 Util 类,它将在您的模型层中充当一个类。

重新计算成自定义可视化,听起来更像是自定义 View。这个视图可以有逻辑,但只有用来呈现自己的那个。所有数据都应该提供给它,而不是获取。真正的逻辑应该只是视图绘图本身。

于 2013-03-20T12:59:24.507 回答