繁体   English   中英

二进制图像,带有OpenCV的白点浓度

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM