Use reshape to image with 3 dims

2 次查看(过去 30 天)
¡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.

回答(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.

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by