新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于OpenCV的智能視頻監控設計

        基于OpenCV的智能視頻監控設計

        作者: 時間:2010-09-15 來源:網絡 收藏

        這個算法基于的條件是運動目標相鄰兩幀之間在畫面上存在的交集,此算法不用外推和相關分析以及軌跡后處理就可以清晰地顯示出目標的軌跡、速度與方向。用該算法基于運動目標檢測運動目標前景圖像的具體過程可描述如下:
        ◇存儲檢測出來的目標前景圖像,并使過去的幀灰度遞減:
        ◇在當前幀打上時間戳疊加存儲到歷史圖像后綴;
        ◇形成梯度漸變圖像;
        ◇由分割得到的梯度漸變圖像得到目標位置,并計算漸變梯度,以得到目標的速度和方向,并加上批號標記。
        該算法簡化了目標相關性的運算,可在初始狀態下對于目標運動趨勢不了解的情況下實施對目標的穩定跟蹤,同時具有良好的實時性能。

        本文引用地址:http://www.104case.com/article/166550.htm

        3 相關函數
        通過函數cvUpdateMotionHistory可使用下列方式更新運動歷史圖像:
        14b.JPG
        也就是說,MHI(motion history image)中運動所發生的象素點被設置為當前時間,而運動發生較久的象素點將被清除。
        函數cvCalcMotionGradient用于計算MHI的差分Dx和Dy,然后計算梯度方向,其公式為:
        orientation(x,y)=arcztan(Dy(x,y)/Dx(x,y))
        其中要考慮Dx(x,y)和Dy(x,y)的符號。然后填充mask以表示哪些方向是正確的。
        函數cvCalcGlobalOrientation用于在選擇的區域內計算整個運動方向。并返回0°到360°之間的角度值。首先由函數創建運動直方圖,并尋找基本方向做為直方圖最大值的坐標。然后通過函數計算與基本方向的相對偏移量,并將其做為所有方向向量的加權和(運行越近,權重越大)。所得到的角度就是基本方向和偏移量的循環和。
        函數cvSegmentMotion可尋找所有的運動分割,并在seg_mask用不同的單獨數字(1,2,…)標識它們。它也可返回一個具有CvConnected-
        Comp結構的序列。其中每個結構對應一個運動部件。在這之后,每個運動部件的運動方向就可以被函數cvCalcGlobalOrientation利用提取的特定部件的掩模(mask)計算出來。此外,每個運動部件的質心位置也可由返回的圖像ROI位置來確定,由此便可確定運動目標的位置。

        4 實驗結果
        在實驗中,可采取標準圖像源來有效檢測跟蹤出圖像中的運動目標,圖2所示是其實驗結果示意圖。其中通過圖2(a)能夠根據CvCon-
        neetedComp中所獲取的運動分割形狀大小,濾掉所不關心的運動目標;而對于圖2(b),如果把限定閾值取大。則中的騎自行車的人將不會被跟蹤顯示;

        14c.JPG

        圖2(c)中,假定豎直線右側為警戒區域,當有目標進入該區域時。即運動目標的質心位置為某一區間值時,則對該目標進行標記,從而達到智能判斷的效果。圖中直線方向表示運動物體的運動方向,在實際的運用場景中,可由此判斷物體是否逆行以達到智能監控和識別的效果。

        5 結束語
        本文介紹了openCV中運動模板的檢測方法,該方法可以有效正確檢測和跟蹤圖像中的運動目標,并能獲得該目標的運動方向與相應位置,從而實現智能視頻監控和智能判斷。但實際上,該方法仍然會存在運動背景差不精確、運動目標形狀大小不一等問題,因此,還需進一步研究或與其他方法相結合,以達到更好的效果。


        上一頁 1 2 下一頁

        關鍵詞: 視頻

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁南县| 岗巴县| 库伦旗| 安远县| 板桥市| 巴彦县| 桂林市| 团风县| 宁远县| 诸城市| 洪湖市| 五华县| 潜山县| 黑山县| 交口县| 城口县| 彭泽县| 福海县| 淮滨县| 蒲城县| 南丰县| 陇西县| 京山县| 叶城县| 泗水县| 崇左市| 开远市| 定兴县| 闵行区| 麻城市| 广东省| 伊宁市| 新竹县| 连山| 酒泉市| 育儿| 三穗县| 富源县| 甘肃省| 彰化市| 屯昌县|