python - 从二进制 numpy 数组中检测表面(图像)
问题描述
假设我有一个来自 .jpg 图像(二维数组,来自灰度图像)的二进制 numpy 数组(0 或 1 / True 或 False)。我只是根据颜色变化进行了一些处理以获取图像的边缘。
现在,从这个阵列中的每个表面/物体,我需要得到它的中心。
这里是原始图像:
现在我需要获取为这条线生成的每个曲面的中心(即或多或少指向生成的每个曲面的中心的索引)。
如果您感兴趣,可以在此处找到文件 (.npy):
https://gofile.io/d/K8U3ZK
非常感谢!
解决方案
找到了一个可行的解决方案。scipy.ndimage.label
分配一个唯一的 int。到每个标签或区域,为了验证结果,我只需绘制输出数组
from scipy.ndimage import label
labeled_array, no_feats = label(my_binary_flower)
plt.imshow(labeled_array)
推荐阅读
- jmeter - 将 JMeter 与 ZAP 工具集成
- angular - 如何在 TypeScript 中同步下拉菜单?
- c# - 如何在应用程序代码中删除 app.config
- ios - 在蒙面的 UIView 周围添加阴影
- machine-learning - 在使用全卷积网络的语义分割中,为什么交叉熵损失优于 L1 或 L2 损失?
- android - android中画布文本的椭圆大小
- node.js - 如何修复 npm ERR!缺少脚本:从反应开始
- ios - CocoaPods 找不到 pod“Alamofire 5.0.0-rc.2”的兼容版本
- visual-studio - 如何降级 Visual Studio 2017 版本?
- javascript - 节点/javascript中的“位置”属性