2011-10-13 7 views
2

私はコードブックメソッドを試してみましたが、実際にはcode_book構造体のintのポイントを理解していません。その変数は "すべてのアクセスをカウントする"が、これは完全に私を失った。どのようなものへのアクセスを数えますか?誰によって?誰かがメンバー変数の目的を私に説明してくれますか?非専門用語を使用してみてくださいOpenCVバックグラウンド除去/コードブック?

第2に、ce構造体では、int t_last_updateとint staleメンバーデータのポイントは何ですか? t_last_updateは失効したエントリを削除するはずですが、古いエントリは何ですか? 「殺す」って何を意味するの?そして、失効したのは、最大負のランを数えるはずです。否定的なランとは何のために使用される?あなたの助け

PS用

ありがとう:どのようなint型t_last_update行い、code_book構造体でどのようなint型トン説明し、_staleがCE構造体でないint型:ちょうど私が必要なものを確認しました。

+1

「コードブック方式」とは何ですか? – SSteve

+1

アドバンストバックグラウンド減算法 – fdh

答えて

3

私はあなたがOpenCVの本からのコードのこの部分について話していると仮定します。

typedef struct code_book { 
    ... 
    int t; // Count every access 
} codeBook; 

基本的に、あなたはダニとしてトンフィールドと考えることができ、新たなフレームが追加されるたびにカウントコードブック。これは、コードブックの収集の開始からどれくらいの間、または古くなったピクセルの最後のクリアかを判断するために使用されました。

編集: 2つのデータ構造がトラッキングされています。 codeBookは、codeBook_elements(つまりce構造)の親と同じです。 は、codeBookが更新されるたびにインクリメントされます。しかし、その更新はすべてのcodeBook_elementsを増やすことはできません。だから...

t_last_updateは、特定のcodeBook_elementが最後にアクセスされた時刻です。

古いコードは、コードブックのエントリがコードブック内にどのくらい古いかを追跡するのに役立ちます。

negRunは負のランタイムを表します。コードブックのエントリにアクセスしてからの経過時間を記録します。長すぎると、古いとみなされ、メモリを節約するために削除されます。

OpenCVサンプルにコードブックメソッドの更新があります。 bgfg_codebook.cppサンプルを見てください。

希望がありました。

+1

ありがとう私はすべてそれを完全に理解しています:)ちょっとしたこと - ちょっとした更新とint tは基本的に同じことですね、なぜ2つの異なる変数がありますか? ありがとうございました – fdh

+0

申し訳ありませんが、私はそれを明確にしていませんでした:)私はそれを明確にする答えを編集します! – mevatron

+0

ありがとう、完璧にそれを要約した:) – fdh

関連する問題