[英]OpenCV - Detection of moving object C++
我正在研究OpenCv項目的交通監控系統,我需要檢測正在行駛的汽車和人。 我正在使用背景減法檢測運動物體,從而繪制計數器。 我有一個問題:當兩輛汽車緊緊地在路上行駛時,我的系統將其檢測為一輛汽車,我已經進行了所有努力,例如邊緣檢測,變換等。任何人都可以告訴我任何特殊的方法來解決此類問題。
CV系統在移動的斑點(運動像素的“雲”)識別出它們並在發生遮擋的情況下將它們彼此區分開時跟蹤對象。 當兩個(或多個)blob相交時,系統將它們合並到一個組合的對象中,並通過當前包含在組合中的所有那些源對象的ID對其進行標記。 當一個對象從組合CV系統中分離出來時,CV系統會識別出哪個已消失並適當地重新排列ID。
許多解決方案都是可能的。
幾何方法將檢測到一個移動的斑點太大而無法成為一輛乘用車。 盡管如此,這可能仍表明有旅行車的汽車。 這使我們的另一個問題:如果你有兩個斑點移動並攏,你怎么知道它的兩輛汽車,而不是一輛車拖着一個大篷車? 您可能需要添加一些基本形狀檢測。
另一個簡單的方法是觀察汽車不會突然增加。 如果您有5個視頻幀,並且在其中的4個中發現了兩輛車,那么第5幀很有可能也有兩輛車。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.