Opencv3の動的ターゲット検出。BackgroundSubtractorMOG2 パラメータ設定
Opencvは、BackgroundSubtractorMOGよりも干渉、特に照明の変化に強い適応型ハイブリッドガウス背景モデリングに基づく背景減算法を使用し、動的ターゲット検出のためにBackgroundSubtractorMOG2を統合しています。
------------------------------------------------------------------------------------------------------------
ps. BackgroundSubtractorMOG2といくつかの他の背景減算法、フレーム差分法はちょうど動き検出を行うために、オンラインしばしば人々は動き検出を行い、その後、輪郭を見つける楕円を当てると言う、概念を混同し、フレームにフレームのターゲット接続、ない判断ターゲット生成とターゲット消滅はそれを追跡とみなすことができない。
-----------------------------------------------------------------------------------------------------------
BackgroundSubtractorMOG2には多数のパラメータがあり、その設定は動き検出の結果に大きく影響します。opencv2版のBackgroundSubtractorMOG2のパラメータは調整できないため、MOG2の検出結果は残念なものになることが多く、MOGより劣ると考える人もいます。
opencv3版では、BackgroundSubtractorMOG2は、パラメータを調整可能にするメンバ関数が多数あり、これを大きく変更することが可能だと思います。しかし、アルゴリズムを勉強したくないopencvプレイヤーや、私のようにopencv初心者で楽しいエフェクトを作りたい人にとって、これらのパラメータを理解することは大きな頭痛の種なので、ここでは私の謙虚な意見でいくつかのパラメータの意味と他の人の結果をまとめておきます、参考までに、スプレーしないでください!。
<ブロッククオート <ブロッククオート 一部参照元:http://blog.csdn.net/abc20002929/article/details/432474251-- BackgroundSubtractorMOG2の作成と初期化
eg: Ptr<BackgroundSubtractorMOG2> mog = createBackgroundSubtractorMOG2(100,25,false).Ptr<BackgroundSubtractorMOG2(100,25,false);
- history: 背景の学習に使用するフレーム数、デフォルトは500フレーム、learningRateを手動で設定しない場合、現在のlearningRateを計算するためにhistoryが使用され、historyが大きいほどlearningRateが小さく、背景の更新が遅くなる。
-
varThreshold: 分散しきい値、現在のピクセルが前景か背景かを決定するために使用されます。一般的なデフォルトは16、水面の太陽光など光の変化が大きい場合は25,36に設定することを推奨、具体的に試すのはそれほど面倒ではなく、値が大きいほど感度が低くなる。
- detectShadows:影を検出するかどうか、検出するためにtrueに設定し、検出しないために偽、影を検出すると、プログラムの時間の複雑さが増加し、特別な要件がない場合、それはfalseに設定することが推奨されます。
- 画像 ソース画像
- fmask フォアグラウンド (バイナリ画像)
-
learningRate 学習率、値0-1,0は背景の更新なし、1はフレームごとの更新、デフォルトは-1、つまりアルゴリズムは自動的に更新されます。
-
nmixtures:ガウスモデルの数、デフォルト5、最大8、一般的に5に設定すると、良いですが、個人的なテスト:8検出効果が向上するために制限されているときに設定しますが、プログラムの時間消費が増加した。
-
backgroundRatio。ガウスバックグラウンドモデルの重みとしきい値、重みでモデルをソートした後、累積モデル重みが backgroundRatio より大きい最初の数モデルのみがバックグラウンドモデルとして採用されます。つまり,この値が非常に小さい場合,最大の重みを持つガウシアンモデルのみが背景として使われる可能性があります(1つのモデル重みのみがbackgroundRatioより大きいため).
- fVarInit: 新しいガウシアンモデルの分散の初期値、デフォルトは15です。
- fVarMax: バックグラウンド更新中にガウシアンモデルの分散を制限するために使用される最大値、デフォルトは20。
-
fVarMin: バックグラウンド更新時にガウシアンモデルの分散を制限するために使用される最小値、デフォルトは4。
-
varThresholdGen: 一致するモデルが存在するかどうか、存在しない場合は新しいモデルを作成するかどうかの分散しきい値。
関連
-
ValueError: 入力配列を形状(*,*)から形状(*)にブロードキャストできなかった。
-
javaは起動したが、終了コード=-805306369を返した。
-
を作ってください。*** ターゲットが指定されておらず、makefileも見つかりませんでした。
-
[Python Basic] ValueError: 非キーワード引数は2つしか受け付けません。
-
#1273 - Unknown collation:'utf8mb4_unicode_ci' エラーの解決法
-
win7 to win10 api-ms-win-core-libraryloader-l1-1-1.dll is missing.
-
エラーの解決策 xmlのこの行に複数のアノテーションが見つかりました。
-
ERROR: 列 c.relhasoids が存在しません。
-
AdbCommandRejectedException: デバイスオフラインの解決法
-
C 警告: 警告:パラメータリスト内で宣言された
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラーです。アクセス制限です。タイプ 'OperatingSystemMXBean'はAPIではありません(必要なライブラリに制限があります)。
-
fatal: リモートが見つからなかった refs/heads/cm-13.0
-
Android Studio が GIT をコミットするとき、このリポジトリでは別の git プロセスが実行されているようです(例:エディタを開いている)。
-
ArrayAdapter は、リソース ID が TextView である必要があります。
-
Xcode は、実行中に Thread 1: EXC_BAD_ACCESS (code=1) に遭遇しました。
-
mysql 切捨てられた不正なDOUBLE値 解決策
-
Pythonラーニングノートです。TypeError: cannot use a string pattern on a bytes-like object とその解決法
-
落とし穴を踏む-Uncaught Error: BootstrapのJavaScriptは、jQueryを必要とします。
-
java ファンデーション 002
-
日付書式yyyy-MM-ddとYYYY-MM-ddの違いは何ですか?