2016-09-25 112 views
0

我有一個生成如下四象幾個圖像軟件的邊緣:查找圖像

image 01

image 02

image 03

image 04

是否算法存在檢測(水平的&垂直)邊緣s並創建一個像這樣的二進制輸出?

enter image description here

如果可能的話,我想用numpyscipy來實現這一點。我已經試圖實現一個算法,但是我失敗了,因爲我沒有找到開始的地方。我也嘗試使用神經網絡來做到這一點,但是這似乎被壓倒了,並且不能很好地工作。

+0

我推薦使用比numpy/scipy更適合的opencv或scikit-image(後者是scikit-image的內部依賴) – sascha

+0

Hough變換和一些事先清理應該可以正常工作。爲什麼有些地方如此模糊? – Piglet

+1

我認爲你的程序中有一些水 –

回答

1

嘗試最簡單的事情是:

  • 將您的圖像二值圖像(通過簡單的閾值)
  • 應用Hough變換(OpenCV的,MATLAB有它已經實現)
  • 在霍夫變換結果,檢測角度0度,+和 - 90度的峯值。 (垂直和水平線)

在OpenCV和Matlab中,您可以使用Hough變換的其他選項,它允許您填充屬於同一直線的兩個斷開段之間的間隙。您可能需要一些額外的操作來處理結果,但主要步驟應該是這些。