[英]Binary Image, Concentrations of White Dots with OpenCV
給定黑色的二進制圖像,並帶有一些零星的白色點,我正在尋找一種方法來“套索”邊界矩形內的大部分白色點。 考慮這張圖片:
看到不是所有的點都被包圍,而是白點(或簇集)的白點明顯比其他地方多嗎?
我已經知道如何使用OpenCV 在所有白點周圍放置邊框 。 誰能指導我如何分析圖像中的大量點 ,而忽略不屬於組的任何外圍點?
注意:此邊界框不必傾斜。 即使是凸包,也可以作為輸出。
我可以調整這些點的大小,顏色,alpha,位置,密度等。 因此,如果您的想法涉及對這些點進行處理以進行處理,則可能會起作用。
您需要一種1-cluster檢測算法,其中離群值檢測很重要。 通常,對聚類算法進行設計和調整,以產生多個集群。 其中的一部分(例如k均值)甚至不處理異常值。 如果決定使用真正的群集算法,請嘗試DBSCAN並將其設置為檢測1個群集-它具有異常檢測能力。
否則,您可以將您的問題視為度量最大化問題。
您想要一個既可以提高數據密度又可以提高包裝盒尺寸的度量標准(因此最終不會得到1x1的包裝盒)。 我提出以下建議:
metric_to_maximize = White_Dot_Density * Area^x
,其中x
是臨時校准的。
可行的另一個想法是將圖像划分為mxn矩形框。 計算每個盒子的平均密度。 選擇頂部的x%(或所有具有density>threshold
矩形)。 圍繞這些“好盒子”創建一個邊界框,而不會包含過多的額外區域。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.