从给定的 2D numpy 数组中删除集群
Posted
技术标签:
【中文标题】从给定的 2D numpy 数组中删除集群【英文标题】:Removal of a cluster from a given 2D numpy array 【发布时间】:2022-01-20 21:50:19 【问题描述】:我有一个二进制二维 np 数组,其中包含下图(示例)中的信息。如何检测数据点簇(此处为黑色),以便我可以从数组中一一删除点簇?在这里,将其视为根据用户的任务需要控制并相应地从图像中删除圆圈。
任务:从一个 numpy 数组中检测和删除任何一个 n-cluster 数据点
任何线索将不胜感激。 [图片供参考]
【问题讨论】:
您是否需要按特定顺序删除集群?另外,每个集群是否都是完全球形的并且具有相同的半径? 没有这样的排序顺序来删除集群。簇形状可能并不总是球形,并且半径也可能不同。寻找检测集群的通用方法。 我推荐使用opencv,blob检测功能听起来最适合这个:learnopencv.com/blob-detection-using-opencv-python-c 【参考方案1】:opencv 确实是一个不错的选择。但是,我建议不要使用 blob 检测,而是找到“连接的组件”,这可以为您提供更多的灵活性。这个答案应该会引导你走向正确的方向:connected component labeling in python
【讨论】:
以上是关于从给定的 2D numpy 数组中删除集群的主要内容,如果未能解决你的问题,请参考以下文章
给定两个 2D numpy 数组 A 和 B,如何有效地将采用两个 1D 数组的函数应用于 A 和 B 行的每个组合?