How do i fill a matrix from smaller matrices?

14 visualizaciones (últimos 30 días)
eri ccartman
eri ccartman el 30 de Oct. de 2016
Editada: Massimo Zanetti el 31 de Oct. de 2016
I have 32x32 blocks of an image. The block size is 8x8. How can i reconstruct the 256X256 image?
I wrote the following code but reshape(...) is not giving a proper result.
idcts = zeros(32,32,8,8);
for c=1:size(dcts,1)
for r=1:size(dcts,2)
temp = double(dcts{c,r});
temp = idct2(temp);
idcts(c,r,:,:) = temp;
end
end
idcts = reshape(idcts,256,256);

Respuestas (1)

Massimo Zanetti
Massimo Zanetti el 31 de Oct. de 2016
Editada: Massimo Zanetti el 31 de Oct. de 2016
It seems from you code that your blocks are stored in a cell array of size 32x32 called dcts. If it is so, and each block is 8x8, then just convert the cell to matrix:
mat_dcts = cell2mat(dcts)

Categorías

Más información sobre Computer Vision with Simulink en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by