2014-01-22 2 views
1

У меня есть 2D-матрица размером 65536 × 1, если я хочу преобразовать ее в 3D в MATLAB, сначала я должен преобразовать ее в 256 × 256, а затем в 256 × 256 в 3D.преобразовать 2D-матрицу в трехмерную матрицу?

Может ли кто-нибудь помочь мне с этим?

+1

Как это должно работать? 6656 * 3 = 19968 элементов, тогда как 256 * 256 = 65536 элементов !? Чтобы изменить размеры, используйте 'reshape' – tim

+0

sry, я допустил ошибку, входная матрица - 65536 * 1 – user3223551

+0

... и насколько велика ваша 3D-матрица? –

ответ

1

Чтобы преобразовать изображение в оттенках серого (что-то было векторизация) в RGB изображения, просто скопировать полутоновых интенсивности в RGB слоев:

%// first, reshape 
img = reshape(img, 256, 256); 

%// then, copy 
img = repmat(img, [1 1 3]); 
+0

спасибо, а A - трехмерная матрица вывода изображения? – user3223551

+0

'img' is ... почему бы вам просто не попробовать? – tim

+0

@ user3223551: Я обновил свой ответ, чтобы удовлетворить ваши требования. Для справок в будущем это типичный пример проблемы [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem); пожалуйста, спросите о своей * оригинальной проблеме, а не о проблемах, с которыми вы сталкиваетесь во время своей попытки решить вашу оригинальную проблему. Включите свое решение, и почему это не удается. –

Смежные вопросы