制作多维张量

时间:2019-10-14 21:33:25

标签: python arrays list numpy tensorflow

我有一个3d图像列表,以尺寸50x50x50的阵列表示。这个3D阵列的每个元素都是一个像素。我已经区分了x,y,z方向上的每个像素。如何在数组中表示呢?

在对它进行区分之后,我得到了一个大小为3的列表,每个索引内有一个50,50,50。因此,这是一个具有x,y和z方向差异图像的列表,这几乎是我想要的。但是我想要的数组是50,50,50,3而不是3,50,50,50。 This is what I would want represented. Every pixel has a value for x,y and z

我的代码:

array_image=full_image[0:50,0:50,0:50] 
Gradient=np.gradient(array_image)




1 个答案:

答案 0 :(得分:0)

如果您仔细查看Gradient文档,它实际上会返回您想要的内容,但形状不同。

  

gradient:ndarray或ndarray列表。       一组ndarray(如果只有一个维度,则为单个ndarray)       对应于每个维度上f的导数。       每个导数与f的形状相同。

因此,您的array_imageres = np.zeros([50,50,50,3]) for i in range(3): res[:,:,:,i] = Gradient[i] 的渐变列表,与每个维度相对应。

    // ========================== THE SPRITE =============================== // 

    var spriteMap = new THREE.TextureLoader().load( "assets/images/logoBBG2.png" );
    var spriteMaterial = new THREE.SpriteMaterial( { map: spriteMap, color: 0xffffff } );   
    var sprite = new THREE.Sprite( spriteMaterial );
    sprite.center.set(0,1); 
    sprite.position.set(0,0,-40);   
    sprite.scale.set(64,64,1.0); 
    scene.add(sprite);