2016-01-23 31 views
0

我一直在試圖檢測和跟蹤視頻流中的車輛。最近,我決定實施一種硬編碼方法,該方法可以找出車輛的影子並檢測整個車輛的輪胎位置。最後,我部分完成了我的實現。這裏是演示的video link如何在特定角度範圍內執行hough轉換

在第一步我用canny邊緣檢測器來減去視頻幀的邊緣。

enter image description here

然後我用霍夫在OpenCV的變換功能可按。

enter image description here

然而這個功能發現所有的水平和垂直線,而我只關心水平線其是可能在車輛的影子。

enter image description here

我的問題是如何可以使用霍夫變換線函數,其中只檢查其是在角的spesific範圍和spesific區域內的線。有沒有任何參數可以控制角度?或者我應該自己實現這個功能嗎?

+0

或者你可以使用opencv hough實現,只保留具有所需角度的行並丟棄其他行...... – Miki

回答

1

既然你結束了坎尼手術後的二進制圖像,它可能是最簡單的應用霍夫變換之前卷積用一個簡單的水平Prewitt算子的圖像:

1 1 1 
0 0 0 
-1 -1 -1 

,這將給你一個地圖的每個像素的灰度強度,沿着水平邊緣的像素給出最強的信號。僅使用水平運算符的優點是垂直邊緣不接收放大,水平邊緣接收最大放大,並且水平45°內的任何邊緣都應該在兩者之間有一個信號。當您將檢測邊緣應用於原始圖像時,可以使用生成的圖像來決定Canny掩膜中哪些像素保留:如果Prewitt信號高於某個像素的某個閾值,則假定該像素沿着「水平「足夠」的邊緣被保留,否則丟棄。我相信opencv具有此功能,但如果不是,則實現它很簡單。