如何告訴BackgroundSubtractorMOG2將哪些像素更新爲背景模型以及哪些像素不應該。BackgroundSubtractorMOG2的遮罩
當對象進入場景並停止幾十秒時,我面臨問題,對象將被吸收到背景模型中。
我想降低學習速度或停止關於特定停止對象的學習,但我該怎麼做? BackgroundSubtractorMOG2是否支持在其更新函數中使用掩碼?
我正在使用OpenCV 2.4.1。
謝謝, Alvin。
如何告訴BackgroundSubtractorMOG2將哪些像素更新爲背景模型以及哪些像素不應該。BackgroundSubtractorMOG2的遮罩
當對象進入場景並停止幾十秒時,我面臨問題,對象將被吸收到背景模型中。
我想降低學習速度或停止關於特定停止對象的學習,但我該怎麼做? BackgroundSubtractorMOG2是否支持在其更新函數中使用掩碼?
我正在使用OpenCV 2.4.1。
謝謝, Alvin。
BackgroundSubtractorMOG2
不支持屏蔽輸入。但是,如果您知道要屏蔽哪些像素,則可以屏蔽輸出:假設您調用subtractor(input, fg, learningRate);
,並且您知道對象現在在哪裏(可能是您一直使用均值漂移或模式識別來跟蹤它) fg |= mask;
其中mask
是其中,正如你從某個不同的來源所瞭解的那樣,對象是。
這有助於跟蹤被吸收到背景中的前景。但這不是我正在尋找的答案,我想盡可能保持我的背景模型清潔。 –
即使我的第一句話不是你尋求的答案嗎?如果你的物體是這樣的,它們進來並保持靜止,MOG2模型不足以追蹤它們。你最好將MOG2用於初始物體檢測和一些目標跟蹤算法,以便跟蹤它。或者我誤解你的問題? – artm
您可以通過設置學習率降至相當低的做到這一點
即:
mog(input, output, 0.00000001);
好問題...我面對完全一樣的問題。 –
對OpenCV背景減法算法的高級反饋沒有機制。我對某種通用更新功能的建議將包括更新掩碼。 – killogre