我在256 * 256灰度图像上执行了DCT,并将压缩系数保存在“Compressed.mat”文件(Matlab R2007b)中。在这段代码中,我加载了一个32 * 32结构的文件,并尝试将所有位保存在一个矩阵中。这是我正在使用的代码,但我不知道为什么“n”的值只有89而不是我在代码中指定的值。非常感谢任何建议。
clear all
file = zeros(2592,104);
load('Compressed.mat'); %load compressed data
n=1;
m=1;
Lall=0;
for i = 1:32
for j= 1:32
L = length(I_runcode(i,j).code);
for l = 1:L
file(n,m) = str2num(I_runcode(i,j).code(l));
m = m + 1;
if m == 2592;
m=1;
n = n+1;
end
end
end
end
%convert file into c-code readable data
mean(mean(file));
fid = fopen('file.dat','wt');
count = fwrite(fid,file,'*uint8');
fclose(fid);
fid = fopen('file.dat');
m5 = fread(fid, [2592, 104], '*uint8');
fclose(fid);
PS:我正在做这一切,这样我就可以将输入数据输入到一个读取“filename.dat”的c代码并对文件执行分形压缩。