回答
我認爲,該對象的該中心可以很容易地發現爲x的算術平均值和y座標。我想用圓圈代替它,我會說直徑是所有點到中心的平均距離的兩倍。
好吧,您可以從頂部向下掃描最頂部的白色像素,然後從底部向上掃描最底部的白色像素,左右相同。給你一個矩形。找到矩形的中心很容易(例如左+(右 - 左)/ 2),這就是你的圓心。然後找到到角落的距離(任何可以做的),這就是你的圓圈半徑。
這不會產生最小的半徑,我認爲。考慮該算法針對填充白色圓圈的結果。 –
同意,不......但用例可能並不需要; OP沒有說... – mark
這聽起來像是一組白色像素上的smallest circle problem。它可以在像素數量的線性時間中找到。這是最好的你會得到它你的輸入只是一個二進制像素數組。
您可以使用一個簡單的公式找到像素的重心,這個公式是x座標除以點數和y座標之和除以點數(I mean白點)。
然後,您可以繪製一個以重心爲中心的圓,點之間的最大距離爲半徑的一半。
Here您對此有圖解。
- 1. 如何找到對象的質心?
- 2. WPF - 如何找到另一個對象中包含的對象?
- 3. 如何從C#中的child(property)對象找到父對象?
- 4. 如何在EF圖中找到對象
- 5. C++ opencv找到對象的中心並添加圓圈
- 6. 如何找到mandelbrot集合的中心
- 7. 如何找到網格的中心?
- 8. 如何找到多邊形的中心?
- 9. 如何找到point3d數組的中心?
- 10. 如何找到圖像的中心?
- 11. 如何將智能對象圖層中心對齊到畫布?
- 12. 如何找到COM對象的ActiveX ClassID?
- 13. 如何找到正確的Json對象
- 14. 如何找到對象關聯的類?
- 15. 的Javascript如何找到對象循環
- 16. 如何找到2個IEnumerable的對象
- 17. 我如何找到numberOfRowsInSection的對象
- 18. OpenGL - 如何從中心縮放對象?
- 19. 如何將提取的對象保存到核心數據中
- 20. 如何滾動到對象的中心位置
- 21. 在對象數組中找到對象
- 22. 找到對象
- 23. 找到對象
- 24. 如何比較對象數組以找到丟失的對象
- 25. Nodejs:如何在JSON對象中找到特定的鍵值對
- 26. 如何用autorelease消息找到對象?
- 27. LD_LIBRARY_PATH:如何找到共享對象
- 28. 如何找到並從dataase PHP對象
- 29. 如何找到NSNotification對象類型?
- 30. 如何重組對象,並找到UnderscoreJS
你想找到對象繪製最長的線並繪製一個半徑爲半徑的圓? –
鏈接爲我斷了 - 從來沒有實際加載任何PNG – Pyrce
@tuğrulbüyükışık我會認爲「nieve」方法僅僅是平均「白色」像素的位置? –