2014-01-21 50 views
0

我正在開發一個檢測夜間車輛大燈的項目。首先我正在MATLAB上進行演示。我的檢測方法是使用高斯差分(DoG)的邊緣檢測:我將圖像與高斯模糊進行卷積,使用2個差異σ,然後減去2個濾波的圖像來尋找邊緣。我的結果如下所示:使用高斯差分(DoG)進行大燈檢測

現在我的問題是在MATLAB中找到一種方法來圈出圓形邊緣,例如汽車的大燈甚至路燈,並忽略其他邊緣。如果你們有任何建議,請告訴我。

enter image description here

enter image description here

回答

4

我想你可能能夠得到使用略有不同的方法更好的分割。

燈光和背景之間已經形成了強烈的對比,所以您可以利用這一點利用一個簡單的閾值來分割亮點,然後您可以應用一些斑點檢測來濾除任何小斑點(例如路燈)。然後,您可以從那裏進行輪廓檢測,Hough圓等,直到找到感興趣的對象。

舉個例子,我把你的源圖像,並做了以下內容:

  1. 轉換爲8位灰度
  2. 應用高斯模糊
  3. 閾值

這是一款的源圖像:

before

這是閾值的疊加:

after

也許這種類型的方法是值得進一步探討。請評論讓我知道你的想法。

+0

1.我不能忽視小斑點,因爲大燈可能很遠,路燈可能更大。我打算將圖片分成兩部分:上部和下部分別包含路燈和前燈,我只是分析下部。你對我的解決方案有什麼看法? 2.您的閾值方法與轉換爲二進制圖像相似嗎?其實我不能這樣做 3.你能否更具體地告訴我你在閾值步驟之後如何圈起明亮的物體?它可以應用於DoG嗎? 如果你不介意,你能把你的代碼發給我嗎?非常感謝 – user3049831

+0

@ user3049831劃分圖片很好,你可以隨時分析最大的「最低」斑點,假設汽車下面沒有更小的燈。你是什​​麼意思*「實際上我不能這樣做」*?你正在解決一個真正的問題還是這是一種約束分配? –

+0

我同意羅蘭,我實際上會做類似的事情。將圖片分成兩部分將有助於加快該過程的提高,所以去做吧。關於在閾值步驟之後盤旋明亮的物體,我認爲紅點是通過一個稱爲掩模的過程完成的,閱讀起來相當簡單。 – rockinfresh