我正在使用OpenCV和C++。二值化後我有黑白圖像。當我只有一個座標點(x,y)屬於這個對象時,如何計算對象的面積?OpenCV如何計算二進制對象的面積?
3
A
回答
2
既然它是一個二進制圖像,你可以很容易地得到blobs。一旦你得到斑點,你可以很容易地計算斑點面積。 您可以使用cvBlobsLib來獲取斑點。 OpenCV沒有集成cvBlobsLib。你可以自己做。但OpenCV具有輪廓功能。您可以使用findContours來獲取斑點/輪廓,然後獲取該區域。 OpenCV - findContours
OpenCV - Structural Analysis and Shape Description
,可以找到關於時刻,huMoments,輪廓等使用的時刻,你可以創建自己的斑點信息,並也將幫助您獲得的斑點面積。
下面是其使用了OpenCV的Python綁定機器視覺的開源框架 - SimpleCV
他們已經實現並採用等高線和力矩完全BLOB功能。你可以看看。
它是用Python編寫的,但你可以把它移植到C++和使用的斑點。
0
您必須編寫某種區域增長算法,從您的起點開始,逐漸添加具有相同顏色的相鄰像素。
使用cv :: floodFill函數,將形狀中的像素設置爲特定顏色,然後對具有該特定顏色的圖像中的像素進行計數,可以使用惰性(並且速度慢得多)。
1
的算法非常簡單,應該是以下幾點:
- Find all contours on your image。
- 循環遍歷所有輪廓和check if point is inside a contour。
- 如果找到輪廓,則比計算it's area。
相關問題
- 1. 使用OpenCV計算對象的面積
- 2. Paraview:計算a3D對象的表面積
- 3. opencv/javacv中的面積計算?
- 4. 計算二維形狀的面積
- 5. 二進制計算
- 6. 計算面積
- 7. 計算面積
- 8. 如何計算二進制校驗和?
- 9. 對象體積計算/估計
- 10. 如何使用二值圖像計算湖泊的面積?
- 11. 二進制計算器
- 12. 計算二進制間隙
- 13. 如何計算java.awt.geom.Area的面積?
- 14. MKPolygon面積計算
- 15. 表面積計算
- 16. OpenCV:在二進制圖像中繪製對象的輪廓
- 17. 如何使用opencv函數計算圖像的孔數(二進制)
- 18. MATLAB中的面積計算
- 19. 計算適合的面積
- 20. DataTable計算對象到十進制
- 21. 的OpenCV - C++ - 軸重合的二進制對象
- 22. 如何計算繪製區域的面積?
- 23. 如何在opencv中填充二進制圖像的一面?
- 24. OpenCV爲多個對象填充二進制墊中的孔
- 25. 如何計算乘積的迭代對象
- 26. 如何計算Postgresql中3D對象的體積?
- 27. C++,二進制數的計算
- 28. 計算二進制值的交集
- 29. 計算面積和周長
- 30. dicom圖像:面積計算