• 大小: 30.3MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-07
  • 语言: 其他
  • 标签: JPEG  matlab  图像压缩  

资源简介

项目可运行,需要修改main.m文件中的inputname和outputname分别代表需要压缩的图片的名称和输出的名称,同时可以修改quality来改变图片压缩比。支持.jpg , .bmp , .png等格式的图片压缩。

资源截图

代码片段和文件信息

function out = dcTransform(input) 

    input = double(input);
    for i = 1:8
        for j = 1:8
            output(i j) = input(i j) - 128.0;
        end
    end

    for i = 1:8
        tmp0 = output(i 1) + output(i 8);
        tmp7 = output(i 1) - output(i 8);
        tmp1 = output(i 2) + output(i 7);
        tmp6 = output(i 2) - output(i 7);
        tmp2 = output(i 3) + output(i 6);
        tmp5 = output(i 3) - output(i 6);
        tmp3 = output(i 4) + output(i 5);
        tmp4 = output(i 4) - output(i 5);

        tmp10 = tmp0 + tmp3;
        tmp13 = tmp0 - tmp3;
        tmp11 = tmp1 + tmp2;
        tmp12 = tmp1 - tmp2;

        output(i 1) = tmp10 + tmp11;
        output(i 5) = tmp10 - tmp11;

        z1 = (tmp12 + tmp13) * 0.707106781;
        output(i 3) = tmp13 + z1;
        output(i 7) = tmp13 - z1;

        tmp10 = tmp4 + tmp5;
        tmp11 = tmp5 + tmp6;
        tmp12 = tmp6 + tmp7;

        z5 = (tmp10 - tmp12) * 0.382683433;
        z2 = 0.541196100 * tmp10 + z5;
        z4 = 1.306562965 * tmp12 + z5;
        z3 = tmp11 * 0.707106781;

        z11 = tmp7 + z3;
        z13 = tmp7 - z3;

        output(i 6) = z13 + z2;
        output(i 4) = z13 - z2;
        output(i 2) = z11 + z4;
        output(i 8) = z11 - z4;
    end

    for i=1:8
        tmp0 = output(1 i) + output(8 i);
        tmp7 = output(1 i) - output(8 i);
        tmp1 = output(2 i) + output(7 i);
        tmp6 = output(2 i) - output(7 i);
        tmp2 = output(3 i) + output(6 i);
        tmp5 = output(3 i) - output(6 i);
        tmp3 = output(4 i) + output(5 i);
        tmp4 = output(4 i) - output(5 i);

        tmp10 = tmp0 + tmp3;
        tmp13 = tmp0 - tmp3;
        tmp11 = tmp1 + tmp2;
        tmp12 = tmp1 - tmp2;

        output(1 i) = tmp10 + tmp11;
        output(5 i) = tmp10 - tmp11;

        z1 = (tmp12 + tmp13) * 0.707106781;
        output(3 i) = tmp13 + z1;
        output(7 i) = tmp13 - z1;

        tmp10 = tmp4 + tmp5;
        tmp11 = tmp5 + tmp6;
        tmp12 = tmp6 + tmp7;

        z5 = (tmp10 - tmp12) * 0.382683433;
        z2 = 0.541196100 * tmp10 + z5;
        z4 = 1.306562965 * tmp12 + z5;
        z3 = tmp11 * 0.707106781;

        z11 = tmp7 + z3;
        z13 = tmp7 - z3;

        output(6 i) = z13 + z2;
        output(4 i) = z13 - z2;
        output(2 i) = z11 + z4;
        output(8 i) = z11 - z4;
    end

    out = output;

end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-03-25 21:13  MATLAB-Jpeg-encoder-master\
     文件       17462  2020-03-25 21:02  MATLAB-Jpeg-encoder-master\1.png
     文件         239  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\README.md
     文件        2418  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\dcTransform.m
     文件        6154  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\easy_encoder.m
     文件      480667  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\grid.png
     文件        2259  2020-03-25 21:09  MATLAB-Jpeg-encoder-master\huffman.m
     文件        6043  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\jpeg_encoder.m
     文件        8621  2020-03-25 21:13  MATLAB-Jpeg-encoder-master\main.m
     目录           0  2020-03-25 21:06  MATLAB-Jpeg-encoder-master\out\
     文件       72498  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\600px-JPEG_ZigZag.svg.png
     文件        5623  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\Dctjpeg.png
     文件     1397512  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\RGB.png
     文件      786486  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\Test.bmp
     文件     1206222  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\YCbCr.png
     文件      172856  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\block1.bmp
     目录           0  2020-03-25 21:06  MATLAB-Jpeg-encoder-master\out\difference\
     文件      566361  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\10.png
     文件      845668  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\100.png
     文件      906866  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\1002.png
     文件      889953  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\1003.png
     文件      699537  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\102.png
     文件      708747  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\103.png
     文件      687705  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\30.png
     文件      833785  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\302.png
     文件      833326  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\303.png
     文件      746740  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\50.png
     文件      894902  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\502.png
     文件      893946  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\503.png
     文件      856136  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\80.png
     文件     1015242  2014-07-08 03:49  MATLAB-Jpeg-encoder-master\out\difference\802.png
............此处省略85个文件信息

评论

共有 条评论