所以,我正在研究文本本地化的分割模型的一些处理步骤。
简单的问题。我在下面做了几张图片:
1.掩码(默认每个区域的值标记为“1”,其他灰色单元格的值标记为“0”)(1)
所以,我想做一些事情来得到这个Tensor,其中每个区域现在都有它所有值的总和。目标Tensor是下图(2)
1.目标
问题:有没有一种方法可以在矩阵风格中完成我需要的任务(为了更快的计算)或者一些相关的关键字?
我尝试了:我尝试过使用标签坐标来循环OpenCV的findContours(),但我不知道这是这种操作任务的最佳实践。
数组复制:
import numpy as np
mask = np.array([[1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0],
[1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0],
[1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0],
[0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0]], dtype=np.float32)
(Edit:add numpy array for reproducible)
2条答案
按热度按时间rdrgkggo1#
您可以使用
scipy.ndimage.label
来识别聚类,然后计算每组的总和:输出量:
jgzswidk2#
这就像一个数据结构问题,你可以使用
deep first recursion
算法来解决。