⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dct_compr.m

📁 Compress an decomprres DCT=Domain Transform Coding for image.
💻 M
字号:
function [CR]= DCT_compr(filename, s_b, Mask)
Mask1=preg_mask(Mask, s_b);
%citesc imaginea
H=imread(filename);
figure(1)
subplot(211);imshow(H);title('Imagine initiala ')
H=f_addzero(H,s_b);
subplot(212);imshow(H);title('Imaginea pentru compresie')
%aplic DCT2 pt fiecare bloc
fun = @dct2;
J = blkproc(H,[s_b s_b],fun);
J = blkproc(J,[s_b s_b],'P1.*x', Mask);
%divid imaginea
[m,n]=size(H);
m=m/s_b;
n=n/s_b;
R=[];
C=[];
for i=1:m,    R=[R s_b]; end;
for i=1:n,    C=[C s_b]; end;
I = mat2cell(J, R, C);
    h=1;
    for j=1:n
        for i=1:m
             G{i,j}=int8(I{i,j});
             Z(h,:)=zigzag(G{i,j});
             h=h+1;
        end
    end

     Z=Z';
     V=Z(:);
     V=V';
xC=cell(1,1);
xC{1}=V;
length(V)
y=Huff06(xC);
y=y';
[m, n] =size(H);
y=[s_b m/s_b n/s_b Mask1 y];
y=y';
length(y)
fid=fopen('project2.bin','wb');
fwrite(fid,y);
fclose(fid);
[m,n]=size(H);
CR=m*n/length(y);
CR
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -