1

Parrot Ar Drone から取得したビデオ フレーム内のオブジェクトを検出するための Android アプリケーションを作成します。モデルにドローンのステータス (飛行中の場合、新しいビデオフレーム、ナビゲーション データなど) が含まれている場合、この目的のために MVC パターンを使用することにしました。

オブジェクト (具体的にはボール) を検出するために、オブジェクトの色相値で画像をフィルター処理して検出し、OpenCV で Huogh Circle Transform を適用することにしました。色相フィルターを適用する色を取得するには、ドローンのカメラの前にあるオブジェクトのヒストグラムを計算するキャリブレーション アクティビティを作成します。ボタンが押されると、このヒストグラムがモデルに設定され、新しいアクティビティ (検出されたオブジェクトを視覚化する新しいビュー。これを検出ビューと呼びます) が開始されます。

ヒストグラムはどこで計算する必要がありますか? ビューで、モデルからビデオフレームを取得するか、モデルで新しいビデオフレームがドローンから到着したか?

そして、どこで検出アルゴリズムを実行する必要がありますか? 検出ビューまたはモデルで?

4

1 に答える 1

0

通常、アクティビティを MVC の「コントロール」レイヤーと呼ぶことができます。アクティビティ (およびフラグメント) のロジックは最小限に抑えたいと考えています。アクティビティとフラグメントは全体として再利用可能ですが、内部の部分的なロジックは再利用できないためです。

画像やビデオ内のオブジェクトの検出などの計算は、データを保持するだけの POJO のようにする必要があるため、モデル オブジェクト内には入れません。このための Util クラスを個人的に作成します。これは、モデル レイヤー内のクラスとして動作します。

カスタム ビジュアライゼーションに再計算すると、カスタム ビューのように聞こえます。このビューにはロジックを含めることができますが、それ自体を提示するために使用されるもののみです。すべてのデータは、フェッチするのではなく、それに与える必要があります。実際のロジックは、ビューの描画そのものである必要があります。

于 2013-03-20T12:59:24.507 に答える