回答
我可以推薦你兩種不同的方法來解決這個問題。
1)機器學習方法。這需要一些標記數據,指示邊緣位置的y座標,然後HOG特徵加上隨機森林分類器將完成這項工作。
2)圖像處理方法。首先,讓我們來看看的what i have done輸出:
藍色指示的是所述的分離邊緣的期望的y位置的分數。
這種方法總是依賴於您的數據的一些假設,在這裏我們假設目標水平邊緣分隔書籍,其中包含很多垂直線。也就是說,我們正在尋找y座標,其中定位了未被垂直線切割的長水平線。
一旦定義我們的目標,其餘的開始很容易。
首先我們需要一個直線檢測器,hough transform會做。
其次,我們投票支持的是使用兩個成績最好的分離器,每個Y座標:
1)第一得分描述多少長水平線(先前發現的)位於鄰里。我們稱之爲s_h。
2)第2分數描述多少長垂直線位於附近。我們稱之爲s_v。
最後,我們只需要結合S_V和S_H做出最後的比分。例如,
S = S_H /(S_V + 1)
利用這一點,我們得到張貼在年初第一個得分王的地圖。一些進一步的後處理需要完成,但不應該很難。
這裏只是解決它的一種可能性,在這裏您可以找到my code presented in a notebook。
如果您提供了代碼以便其他人可以重現您生成的內容,那將是一件好事。記住,當你寫一個答案時,你不僅要幫助OP解決他們的問題,而且你可能會幫助未來的訪問者解決這個問題,他們可能會遇到同樣的問題。 – rayryeng
我已經添加了一個ipython筆記本的鏈接,以顯示它是如何工作的。但是我所做的事情往往會過分依賴這張圖片,因此需要切換某些細節以使其更加穩定。但是,如果您可以擁有更多像這樣的圖像(比如100?),我強烈建議您調整機器學習方法。 –
如果你在MATLAB中這樣做的話會更好,因爲這是問題的標記,但是一個IP筆記本比沒有更好!......絕對比OP更值得 – rayryeng
- 1. 從邊緣檢測中分割圖像
- 2. 圖像分割與邊緣檢測
- 3. 使用OpenCV從邊緣圖像中刪除長長的水平/垂直線
- 4. 如何測量邊緣檢測圖像邊緣的長度?
- 5. 平滑的圖像邊緣
- 6. 水平分割基於視圖的iPad模板?
- 7. 我如何平滑多分量圖像的邊緣?
- 8. 基於圖形的圖像分割
- 9. 檢測彩色圖像中的水平圓形邊緣
- 10. 矢量圖像的圖像比較(基於邊緣檢測)?
- 11. 如何去除Canny邊緣圖像中的長邊?
- 12. 具有固定最大邊緣長度的平面圖
- 13. 邊緣檢測和分割
- 14. Android圖像水平拉長
- 15. 基於事先的圖像分割
- 16. 基於顏色的圖像分割
- 17. Altova水平分割
- 18. 如何在水平中點處設置背景圖像位置的左邊緣
- 19. 如何啓動水平分割的vifm
- 20. 如何移動基於邊緣的SKPhysicsBody?
- 21. Graphviz - 節點之間的水平邊緣
- 22. 考慮邊緣權重的最小s-t邊緣切割
- 23. 圖像邊緣檢測和平滑?
- 24. 使用opencv圖像邊緣平滑
- 25. 在WPF中平滑圖像邊緣
- 26. 邊緣幅度(垂直和水平邊緣)
- 27. 如何在存在水平分割的情況下將垂直分割窗口移動到水平分割?
- 28. 平滑分割圖像
- 29. 基於行長的分割文件
- 30. 從PDF中提取的圖像是水平分割的
「_split this shelf of this shelf_」...圖像丟失。你能發佈迄今爲止的代碼嗎? –
和[mcve](http://stackoverflow.com/help/mcve)。 – kkuilla
@il_raffa - 圖片網址在帖子中,但由於用戶的低代表而沒有顯示。我已經加入了。 – rayryeng