什麼編碼技術可以讓我區分黑白圖像位圖中的圓形,矩形和三角形?用於區分圓形矩形和三角形的技術?
回答
如果噪音足夠低,提取曲線,近似可以用於:對每個形狀選擇參數給出最小誤差(最小二乘法,他可以幫助在這裏),然後比較這些錯誤......
如果圖像是嘈雜的,我會考慮霍夫變換 - 它可以用來檢測具有少量參數的形狀,如圓形(對於矩形和三角形更難)。
圖像嘈雜,我有一個訓練集爲每個形狀 – Gamal
只是我頭頂的想法:逐像素逐行掃描(像素)圖像。如果遇到第一個白色像素(假設它具有黑色背景),則將其位置作爲起始點,然後查看下一個白色像素周圍八個像素的每個方向。如果找到相鄰的第二個像素,則可以在這兩個像素之間建立方向矢量。
現在重複此操作,直到您的矢量方向發生變化(或變化高於某個閾值)。保持更改前的最後一個點作爲第一行的終點,併爲下一行重複該過程。
然後計算兩條線之間的角度並存儲它。現在跟蹤第三行。計算第二行和第三行之間的角度。
如果兩個角都是矩形的,你可能找到了一個矩形,否則你可能找到了一個三角形。如果找不到任何直線,則可以斷定您找到了一個圓圈。
我知道該算法有點粗略,但我認爲(有一些改進),它可以工作,如果你的圖像的質量不是太差(太多的噪音,行中的差距等)。
您正在尋找Hough Transform。對於實現,請嘗試AForge.NET框架。它包括circle and line hough transformations。
你可以訓練一個Artificial Neural Network以形狀分類:P
- 1. 使用掃描儀查找圓形,三角形和矩形的區域
- 2. 三角形分區
- 3. 如何用OpenCV繪製圓角矩形(帶圓角的矩形)?
- 4. 如何製作表單圓角矩形或圓形或三角形
- 5. 將圓角矩形變換爲圓形
- 6. 從圖像中檢測三角形,橢圓和矩形
- 7. 使用兩種顏色在Spritekit中繪製矩形/圓形和三角形。 。 。
- 8. 用三角形風扇繪製圓形
- 9. UIBezierPath圓角矩形 - 角
- 10. shaperenderer圓角三角形
- 11. JavaFX用於圓形動畫的矩形
- 12. LibGDX中矩形/圓的三角形碰撞
- 13. 帶圓角矩形的SKScene
- 14. 圓角矩形在pygtk的
- 15. Silverlight中的圓角矩形
- 16. UIBezierPath - 帶圓角的矩形
- 17. 矩形網格內的三角形
- 18. 帶切割三角形的矩形
- 19. 圓形到圓形三角形(菜單按鈕切換)
- 20. 在KD樹中存儲矩形/圓/三角形
- 21. 筆畫應用於核心圖形中的圓角矩形
- 22. 設計形狀類與圓形和三角形
- 23. 帶圓角的三角形,用CSS
- 24. 完美圓角矩形
- 25. 圓角矩形問題
- 26. 圓角矩形虛線
- 27. 點是內圓角矩形?
- 28. UIBezzierPath爲圓角矩形
- 29. 填補了部分圓角矩形GDI +
- 30. pygame的角度球(矩形)和矩形
能否請您提供更多的信息?將給定的位圖保證包含一個圓或三角形?它可以包含其他形狀?它可以包含多個圈子嗎?形狀可以出現在位圖的任何位置,還是可以保證延伸到定界符?任何進一步的信息將是非常有用的。 – csj
位圖必須只有一個形狀 – Gamal
查看您在本主題中的評論,這聽起來像是您希望在編碼級別獲得更多幫助。如果這是真的,那麼最好讓你的問題更抽象,更具體:你用什麼語言編程?你有什麼代碼?你到底在哪一步失敗? – BalusC