2013-10-10 106 views
2

我想从3个视图中计算3D对象。原理如下图所示。 object with 3 views从3个视图创建3D对象

每个视图都存储在二维矩阵中,二进制值代表对象。 3D对象应该以二进制值存储在3维矩阵中(True:该像素代表对象质量,False:该像素是白色空间)。 我怎样才能实现这与简单的numpy矩阵操作?

三个视图a,b and c可以例如看起来像[[0,0,0,0],[0,1,1,0],[0,1,1,0],[0,0,0,0]]

+0

见[这个重复的问题](http://stackoverflow.com/q/23409318/553404)的一些更多的输入数据的例子 – YXD

回答

2

如果你的意见是a, b, c则:

result = a[None, :, :] & b[:, None, :] & c[:, :, None] 

洗牌圆轴,以适应输入

abc被假定为以下形式:

np.array([[0,0,0,0],[0,1,1,0],[0,1,1,0],[0,0,0,0]], dtype=np.bool) 
+0

感谢您的回答。但是,请问可以添加数组“a,b和c”的构建方式吗?我会像'[[0,0,0,0],[0,1,1,0],[0,1,1,0],[0,0,0,0]]''一样构建它们。这将是4x4像素图像中的正方形。每个子阵列代表由单个像素组成的行。 – wewa

+0

更新 - 如果您想添加输入数据的特定示例,我会更新该问题以适合 – YXD