sonido
sonido

Reputation: 63

Reading 3D numpy array

I have a dataset which comprises of the binary data of pixelated 50x50 images. The array shape is (50, 50, 90245). I want to reach 50x50 pixels of each of the 90245 images. How can I slice the array?

Upvotes: 0

Views: 635

Answers (2)

Anirudh Ramesh
Anirudh Ramesh

Reputation: 43

If data is the variable storing the image data, and i is the index of the image you want to access, then you can do as @BrokenBenchmark suggested. In case you want a (50,50,1) 3D array as the output, you could do:

data[:,:,i:i+1]

to get the image as a 3D array.

Edit1: If you reshaped your data matrix to be of shape (90245,50,50), you can get the ith image by doing data[i,:,:] or just data[i] to get a (50,50) image. Similarly, to get a (1,50,50) image, you could do data[i:i+1,:,:] or just data[i:i+1].

Edit2: To reshape the array, you could use the swapaxes() function in numpy.

Upvotes: 0

BrokenBenchmark
BrokenBenchmark

Reputation: 19242

If data is the variable storing the image data, and i is the index of the image you want to access, then you can do:

data[:,:,i]

to get the desired image data.

Upvotes: 1

Related Questions