Use reshape to image with 3 dims

2 views (last 30 days)
cristhian elguera
cristhian elguera on 27 Oct 2019
¡Hola!. Estoy tratando de crear una red neuronal de convolución. Y mi entrada de datos tiene este tamaño ... (60000,28,28) donde 60000 es el número de imágenes y 28x28 es el tamaño de cada imagen.
Desea que mis datos de entrada tengan la siguiente dimensión. (28,28,60000) para usar imshow (datos (:,:, 1)) y ver todas las imágenes.
Mi problema es que la única solución que encontré es usar un bucle for porque la función remodelar no cambia las dimensiones como quiero.
remodelar (datos, [28 28 6000])
Entonces no sé si estoy cantando bien la función.
data = double (cell2mat (struct2cell (load ( 'images_train.mat' , 'images_train' )))) ;; % clase uint8
new_data = rehacer (datos [28 28 60000])
imshow (new_data (:,:, 1))
Y estas son las imágenes.

Answers (1)

Thiago Henrique Gomes Lobato
A = randn(6000,28,28);
newA = reshape(A,[28 28 6000]);
size(newA)
imshow(newA(:,:,1))
size(newA)
ans =
28 28 6000
This should work.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!