【发布时间】:2021-04-12 09:51:28
【问题描述】:
我有一个检测到的粒子的标记图像和一个数据框,其中包含每个标记粒子的相应区域。我要做的是过滤掉图像上面积小于指定值的每个粒子。
我在下面的示例中得到了它,但我知道必须有一种更智能、尤其是更快的方法。 例如通过比较图像和数组来跳过循环。
感谢您的帮助!
例子:
labels = df["label"][df.area > 5000].to_numpy()
mask = np.zeros(labeled_image.shape)
for label in labels:
mask[labeled_image == label] = 1
数据框:
label centroid-0 centroid-1 area
0 1 15 3681 191
1 2 13 1345 390
2 3 43 3746 885
3 4 32 3616 817
4 5 20 4250 137
... ... ... ...
3827 3828 4149 1620 130
3828 3829 4151 852 62
3829 3830 4155 330 236
3830 3831 4157 530 377
3831 3832 4159 3975 81
【问题讨论】: