2

我试图在图像堆栈中找到一些对象的外壳。它们是细胞的显微镜图像。我正在使用 scipy 的 ConvexHull 来执行此操作。图像堆栈的尺寸为 46 x 512 x 512。我已将其转换为二进制数组。

我试过了

imhull = ConvexHull(imbinary)

但收到此错误消息:

ValueError: Buffer has wrong number of dimensions (expected 2, got 3)

因此,我决定遍历堆栈中的 46 个图像中的每一个,然后查看是否可以合并输出。

imhull = []
from scipy.spatial import ConvexHull
for i in np.nditer(imbinary):
    imhull[i] = ConvexHull(imbinary[i])

但是,这给出了错误消息:

QhullError: QH6214 qhull input error: not enough points(512) to construct initial simplex (need 513)

While executing:  | qhull i Qt Qx
Options selected for Qhull 2015.2.r 2016/01/18:
  run-id 1322522047  incidence  Qtriangulate  Qxact-merge  _zero-centrum
  Q3-no-merge-vertices-dim-high

我应该如何解决这个问题?

我也在寻找一些关于这种方法是否合适的建议(即组合单个图像是否会给出正确的 3d 外壳?)或者如果不是,我可以找到图像中对象边界的一些替代方法?

谢谢你。

4

0 回答 0