使用DCT进行图像压缩

时间:2013-02-04 13:24:59

标签: matlab image-processing image-compression dct

我在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代码并对文件执行分形压缩。

0 个答案:

没有答案