如何将8×8矩阵的矩阵映射到256×256个空矩阵的图像编解码器

4视图(30天)
我一直试图让一个自定义编解码器使用MATLAB。代码的第一部分,我256 x256灰度图像分解成8×8块使用以下代码。
下面的代码256 x256图像分解为32 x32块,每个块包含8×8的价值观。
文件=“Cactus.jpg”;
一个= imread(文件);%将文件读入一个矩阵
宽度= B.Width;
身高= B.Height;
%找到8×8的数字矩阵
W =装天花板(宽/ 8);
H =装天花板(身高/ 8);
%创建我作为一个矩阵的零
我= 0 (H * 8 W * 8,“uint8”);
我(1:身高、1:宽度)= A(1:高度,1:宽度);
%将数字分成WxH 8×8矩阵
X = 0 (H, W 8 8);
J = 1: H
K = 1: W
j = 1:8
k = 1:8
X (J, K, J, K) =我((J - 1) * 8 + J, K (K - 1) * 8 +);
结束
结束
结束
结束
如果我使用MATLAB“大小”命令,我可以看到,X是一个四维数组
大小(X)
ans =
32 32 8 8
然后我后续代码执行所有的编码处理的8×8块x我已经设法解码模块基于同样的原理,但我现在的我想“缝合”8×8块回一个图像。
我有一个四维数组(Z)的解码值,我想256 x256数组放入一个空的。
问题是,我不知道如何 地图 8×8块空数组。
谁能帮忙吗?
Z是下面的大小:
大小(Z)
ans =
32 32 8 8

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!