精华内容
下载资源
问答
  • JPEG压缩编码

    2012-05-22 10:15:39
    JPEG压缩编码:实现其算法的压缩程序,帮您了解和学习图像的编码与压缩
  • JPEG压缩编码流程

    2021-03-04 11:21:33
    JPEG压缩编码流程 基于离散余弦变换(DCT)的JPEG压缩编码过程: 1、正向离散余弦变换(FDCT) 2、量化(Quantization) 3、 Z字形编码(Zigzag Scan) 4、使用差分脉冲编码调制(DPCM)对直流系数(DC)进行编码 5...

    JPEG压缩编码流程

    基于离散余弦变换(DCT)的JPEG压缩编码过程:

    1、正向离散余弦变换(FDCT)
    2、量化(Quantization)
    3、 Z字形编码(Zigzag Scan)
    4、使用差分脉冲编码调制(DPCM)对直流系数(DC)进行编码
    5、使用行程长度编码(RLE)对交流系数(AC)进行编码
    6、 熵编码(Entropy Coding)

    JPEG压缩编码流程图:
    在这里插入图片描述

    展开全文
  • JPEG压缩编码系统源代码.rar C语言
  • 介绍了图象的压缩编码,JPEG压缩编码标准,可以学习下
  • 行程编码,JPEG压缩编码(基本系统),是用C语言写的源程序。行程编码,JPEG压缩编码(基本系统),是用C语言写的源程序。
  • JPEG压缩编码算法

    2011-12-05 11:58:42
    JPEG压缩编码算法应用及发展前景研究
  • NUMPAGES 信息科学与工程学院 课程设计报告 2010 2011 学年 第 一 学期 课程名称综 合 课 程 设 计_ 班 级 电 子 0 7 0 2 学 号 0 7 姓 名 指导教师 2010 年 11 月 课程设计题目 基于MATLAB的JPEG压缩编码 ...
  • 行程编码,JPEG压缩编码
  • JPEG压缩编码系统源代码,pcx to jpeg convertion
  • 关于JPEG压缩编码 JPEG是联合图像专家组(Joint Picture Expert Group)的英文缩写,是国际标准化组织(ISO)和CCITT联合制定的静态图像的压缩编码标准。JPEG压缩方法采用一种特殊的有损压缩算法,将不易被人眼察觉 的...
  • 数字图像处理 实验七:JPEG压缩编码

    千次阅读 2020-03-28 11:58:00
    基于Matlab的JPEG压缩编码DIP实验7:JPEG压缩编码实验目的实验原理实验内容参考代码实验结果 DIP实验7:JPEG压缩编码 实验目的 1)掌握n×n块的DCT图像变换及频谱特点。 2)熟悉JPEG基本系统的图像编解码方法。 实验...

    DIP实验7:JPEG压缩编码

    实验目的

    1)掌握n×n块的DCT图像变换及频谱特点。
    2)熟悉JPEG基本系统的图像编解码方法。

    实验原理

    基于DCT有损压缩编码的基本系统的主要计算步骤
    1)通过前向离散余弦变换(FDCT)减少图像数据相关性;
    2)利用人眼的视觉特性对DCT系数进行量化;

    附:可供参考的Matlab函数有dctmtx/dct2、blkproc、hist、bar、num2str和strcat

    实验内容

    1)编程实现n×n块DCT变换的图像频谱显示,块DCT系数按照Zig-Zag扫描并取部分进行图像重建,计算图像的均方根误差RMSE,显示误差图像和误差直方图。
    2)对8×8块的DCT系数,采用JPEG默认的量化矩阵进行量化和反量化,计算原图像与重建图像之间的均方根误差RMSE、并显示误差图像。

    输出图像排列格式如下:

    原图像 8×8 DCT频谱显示 取?个DCT系数时的重建图像
    差值直方图, RMSE= Scale为?时的重建图像 量化误差图像, RMSE=

    需要编写的函数:
    1)分块DCT函数:
    根据给定的n值,计算原图像的n×n块的DCT系数,并转换为可视频谱图以便观察

    function dctfre = DctBlock(oldbuf,n,t);
    % 输入
    %     oldbuf         		 原始图像数据
    %     n              		 分块的大小
    %     t             	     DCT变换矩阵
    % 输出
    %     dctfre                 DCT系数矩阵
    %     log(abs(dctfre)*5+1)   修正DCT系数以便频谱观察
    

    2)ZigZag及IDCT函数:
    按Zig-Zag扫描顺序,只保留64个DCT系数中的前x个系数,并对修改后的DCT系数用逆DCT变换重建图像。将x值从1开始增大,观察图像由模糊到清晰的变化情况。计算重建图像的均方根误差RMSE,显示误差图像和误差直方图。

    function e = ZigIDCT(oldbuf,dctfre,x,n,t);
    % 输入
    %     oldbuf          原始图像数据
    %     dctfre          DCT系数矩阵
    %     x                每个分块中需要保留的DCT系数个数
    %     n                分块的大小
    %     t                DCT变换矩阵
    % 输出
    %     e                原图像与保留部分DCT系数后的重建图像之间的误差矩阵
    

    3)量化和反量化函数:
    根据给定的默认JPEG量化表,对每个n×n块的DCT系数进行量化和反量化,显示量化误差图像及其直方图。

    function QuanIQuan(oldbuf,dctfre,Scale,n,t);
    % 输入
    %     oldbuf          原始图像数据
    %     dctfre          DCT系数矩阵
    %     Scale           乘积因子
    %     n               分块的大小
    %     t               DCT变换矩阵
    
    zigzag = [1 2 6 7 15 16 28 29          
              3 5 8 14 17 27 30 43
              4 9 13 18 26 31 42 44
              10 12 19 25 32 41 45 54
              11 20 24 33 40 46 53 55
              21 23 34 39 47 52 56 61
              22 35 38 48 51 57 60 62
              36 37 49 50 58 59 63 64];
              
    % Luminance quantization table
    QuanTable =      
    	[16 11 10 16 24 40 51 61
         12 12 14 19 26 58 60 55
         14 13 16 24 40 57 69 56
         14 17 22 29 51 87 80 62
         18 22 37 56 68 109 103 77
         24 35 55 64 81 104 113 92
         49 64 78 87 103 121 120 101
         72 92 95 98 112 100 103 99]; 
    

    参考代码

    OI = imread('lena.bmp');
    n = 8;    % DCT分块大小
    x = 2;    % 每个分块中需要保留的DCT系数个数
    
    dctfre = DctBlock(OI, n);    % 分块DCT函数
    [Lerror, Lrestored] = ZigIDCT(OI, dctfre, x, n);    % ZigZag及IDCT函数
     
    Scale = 2;    % 乘积因子
    [Qerror, Qrestored] = QuanIQuan(OI, dctfre, Scale, n);    % 量化和反量化函数
    
    subplot(2, 3, 1);     
    imshow(OI);     
    title('原图像');
    
    dct_amend = log(abs(dctfre) * 5 + 1);    % 修正DCT系数以便频谱观察
    dct_amend = Calibration(dct_amend);
    
    subplot(2, 3, 2);       
    imshow(dct_amend);      
    title([num2str(n), '×', num2str(n), ' DCT频谱显示']);
    
    subplot(2, 3, 3);
    imshow(Lrestored);       
    title(['取', num2str(x), '个DCT系数时的重建图像']);
    
    error_lessen_rms = sqrt( sum(sum(Lerror.^2)) / numel(Lerror) );
    % numel: 返回数组或者向量中所含元素的总数
    
    subplot(2, 3, 4);
    histogram(Lerror);
    title(['差值直方图, RMSE=', num2str(error_lessen_rms)]);
    
    subplot(2, 3, 5);
    imshow(Qrestored);        
    title(['Scale为', num2str(Scale), '时的重建图像']);
     
    Qerror_rms = sqrt( sum(sum(Qerror.^2)) / numel(Qerror) );
    subplot(2,3,6);
    imshow(uint8(Calibration(Qerror)));     
    title(['量化误差图像,RMSE=', num2str(Qerror_rms)]);
    
    
    %% 分块DCT函数
    function dctfre = DctBlock(oldbuf, n)
    	% 输入
    	%     oldbuf         原始图像数据
    	%     n              分块的大小
    	% 输出
    	%     dctfre         DCT系数矩阵
    	oldbuf = double(oldbuf);
    	oldbuf = oldbuf - 128;    % DCT变换范围:-128~127
    	D = dctmtx(n);    % 返回 n×n 的DCT变换矩阵
    	% 矩阵ADCT变换可用 D×A×D' 来计算
    	% blkporc: 功能为对图像分块进行DCT变换
    	% B = blkproc(A, [M N], Fun)A为输入图像,M*N为块大小,Fun为处理函数 
    	dctfre=blkproc(oldbuf, [n, n], 'P1*x*P2', D, D'); 
    	% D为变换矩阵( D, D'为要传递给函数的参数)P1P2为参数,代表D*x*D’ 
    end
    
    
    %% ZigZag及IDCT函数
    function [e, Restored] = ZigIDCT(oldbuf, dctfre, x, n)
    	% 输入
    	%     oldbuf        原始图像数据
    	%     dctfre         DCT系数矩阵
    	%     x                 每个分块中需要保留的DCT系数个数
    	%     n                 分块的大小
    	% 输出
    	%     e                 原图像与保留部分DCT系数后的重建图像之间的误差矩阵
    	%     Restored    重建图像
    	 
    	zigzag = [1  2   6   7   15  16  28  29          
    	          3  5   8   14  17  27  30  43
    	          4  9   13  18  26  31  42  44
    	          10 12  19  25  32  41  45  54
    	          11 20  24  33  40  46  53  55
    	          21 23  34  39  47  52  56  61
    	          22 35  38  48  51  57  60  62
    	          36 37  49  50  58  59  63  64];
    	 
    	% 根据当前x值(保留细数个数)得到“Z”字扫描的逻辑值, mask为logic类型
    	mask=zigzag<=x;   
    	% 返回 n×n 的DCT变换矩阵
    	D=dctmtx (n);      
    	% Restored为重建的压缩图像矩阵
    	Restored = blkproc(dctfre, [n, n], 'P1*(x.*P2)*P3', D' ,mask,D);     
    	Restored = Restored+128;
    	Restored = uint8(Restored); 
    	% 原图像与保留部分DCT系数后的重建图像之间的误差矩阵
    	e = double(oldbuf)-double(Restored);     
    end
    
    %% 量化和反量化函数
    function [e, Restored] = QuanIQuan(oldbuf, dctfre, Scale, n)
    	% 输入
    	%     oldbuf           原始图像数据
    	%     dctfre           DCT系数矩阵
    	%     Scale            乘积因子
    	%     n                分块的大小
    	% 输出
    	%     e                量化误差
    	%     Restored         重建图像
    	
    	% Luminance quantization table
    	QuanTable = [16  11  10  16  24  40  51  61
    	     12  12  14  19  26  58  60  55
    	     14  13  16  24  40  57  69  56
    	     14  17  22  29  51  87  80  62
    	     18  22  37  56  68  109 103 77
    	     24  35  55  64  81  104 113 92
    	     49  64  78  87  103 121 120 101
    	     72  92  95  98  112 100 103 99];     
    	 
    	Qvalue = blkproc(dctfre, [n n],'round(x./P1)', Scale*QuanTable);     
    	% 量化
    	IQvalue = blkproc(Qvalue, [n n], 'x.*P1', Scale*QuanTable);     % 反量化
    	% 对经过量化和反量化后的矩阵进行逆DCT变换得到重建图像矩阵
    	D = dctmtx(n);
    	Restored = blkproc(IQvalue, [n n], 'P1*x*P2', D', D);
    	Restored = Restored + 128;
    	Restored = uint8(Restored); 
    	% e为量化误差矩阵
    	e = double(Restored) - double(oldbuf);
    end
    
    %% 标定
    function cal = Calibration(img)
        img = double(img);
        [M, N] = size(img);
        fmin = min(min(img));
        fm = img - fmin * ones(M, N);
        fmmax = max(max(fm));
        fs = 255 * fm ./ fmmax;
        cal = uint8(fs);
    end
    
    
    

    实验结果

    在这里插入图片描述

    展开全文
  • JPEG压缩编码共有四大步骤,如下: 1、颜色模式转换及采样 JPEG采用的是YCbCr色彩系统(Y代表亮度,Cb和Cr则代表色度、饱和度)。想要用JPEG基本压缩法处理全彩色图像,得先把RGB颜色模式图像数据,转换为YCbCr...

    JPEG压缩编码共有四大步骤,如下:
    1、颜色模式转换及采样
    JPEG采用的是YCbCr色彩系统(Y代表亮度,Cb和Cr则代表色度、饱和度)。想要用JPEG基本压缩法处理全彩色图像,得先把RGB颜色模式图像数据,转换为YCbCr颜色模式的数据。通过下列计算公式可完成数据转换。 Y=0.2990R+0.5870G+0.1140B Cb=-0.1687R-0.3313G+0.5000B+128 Cr=0.5000R-0.4187G-0.0813B+128 。其中Y成份的数据是比较重要的,而Cb成份和Cr成份则可以只取部分数据来处理,以增加压缩的比例。JPEG通常有两种采样方式:YUV411和YUV422,它们所代表的意义是Y、Cb和Cr三个成份的数据取样比例。

    2、DCT变换
    DCT变换的全称是离散余弦变换,是指将一组光强数据转换成频率数据,以便得知强度变化的情形。若对高频的数据做些修饰,再转回原来形式的数据时,显然与原始数据有些差异,但是人类的眼睛却是不容易辨认出来。 压缩时,将原始图像数据分成8*8数据单元矩阵,例如亮度值的第一个矩阵内容如下: JPEG将整个亮度矩阵与色度Cb矩阵,饱和度Cr矩阵,视为一个基本单元称作MCU。每个MCU所包含的矩阵数量不得超过10个。例如,行和列采样的比例皆为4:2:2,则每个MCU将包含四个亮度矩阵,一个色度矩阵及一个饱和度矩阵。 当图像数据分成一个8*8矩阵后,还必须将每个数值减去128,然后一一代入DCT变换公式中,即可达到DCT变换的目的。图像数据值必须减去128,是因为DCT转换公式所接受的数字范围是在-128到+127之间。

    3、量化
    图像数据转换为频率系数后,还得接受一项量化程序,才能进入编码阶段。量化阶段需要两个8*8矩阵数据,一个是专门处理亮度的频率系数,另一个则是针对色度的频率系数,将频率系数除以量化矩阵的值,取得与商数最近的整数,即完成量化。 当频率系数经过量化后,将频率系数由浮点数转变为整数,这才便于执行最后的编码。不过,经过量化阶段后,所有数据只保留整数近似值,也就再度损失了一些数据内容。

    4、编码
    Huffman编码无专利权问题,成为JPEG最常用的编码方式,Huffman编码通常是以完整的MCU来进行的。 编码时,每个矩阵数据的DC值与63个AC值,将分别使用不同的Huffman编码表,而亮度与色度也需要不同的Huffman编码表,所以一共需要四个编码表,才能顺利地完成JPEG编码工作。 DC编码 DC是彩采用差值脉冲编码调制的差值编码法,也就是在同一个图像分量中取得每个DC值与前一个DC值的差值来编码。DC采用差值脉冲编码的主要原因是由于在连续色调的图像中,其差值多半比原值小,对差值进行编码所需的位数,会比对原值进行编码所需的位数少许多。例如差值为5,它的二进制表示值为101,如果差值为-5,则先改为正整数5,再将其二进制转换成1的补数即可。所谓1的补数,就是将每个Bit若值为0,便改成1;Bit为1,则变成0。差值5应保留的位数为3,下表即列出差值所应保留的Bit数与差值内容的对照。 在差值前端另外加入一些差值的霍夫曼码值,例如亮度差值为5(101)的位数为3,则霍夫曼码值应该是100,两者连接在一起即为100101。

    另外,AC编码 AC编码方式与DC略有不同,在AC编码之前,首先得将63个AC值按Zig-zag排序,再将AC系数转换成中间符号,中间符号表示为RRRR/SSSS,RRRR是指第非零的AC之前,其值为0的AC个数,SSSS是指AC值所需的位数,AC系数的范围与SSSS的对应关系与DC差值Bits数与差值内容对照表相似。 如果连续为0的AC个数大于15,则用15/0来表示连续的16个0,15/0称为ZRL,而(0/0)称为EOB用来表示其后所剩余的AC系数皆等于0,以中间符号值作为索引值,从相应的AC编码表中找出适当的霍夫曼码值,再与AC值相连即可。 例如某一组亮度的中间符为5/3,AC值为4,首先以5/3为索引值,从亮度AC的Huffman编码表中找到1111111110011110霍夫曼码值,于是加上原来100(4)即是用来取[5,4]的Huffman编码1111111110011110100,[5,4]表示AC值为4的前面有5个零。

    再为各位附上一张关于色彩的代码图
    这里写图片描述

    接下来来说说ASCII 码吧。
    ASCII码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:0~31及127是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。32~126是字符(32sp是空格),其中48~57为0到9十个阿拉伯数字。65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。后128个称为扩展ASCII码,目前许多基于x86的系统都支持使用扩展ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
    这里写图片描述

    码了这么多字,不知道你们能不能吸收得了,反正慢慢看吧,作为程序猿,总是要了解的。。。。。。

    展开全文
  • 用matlab实现图像的JPEG压缩编码程序,输出为DC和AC系数的码流,图像的高度和宽度。
  • JPEG压缩编码标准

    2017-11-01 13:04:46
    大数据量的图象信息会给存储器的存储容量,通信干线信道的带宽,以及计算机的处 理速度增加极大的压力。单纯靠增加存储器容量,提高信道带宽以及计算机的处理速度等...法来解决这个问题是不现实的,这时就要考虑压缩
  • JPEG压缩编码过程

    千次阅读 2011-06-02 15:27:00
        JPEG压缩编码过程   1.1JPEG简介    JPEG(Joint Photographic Experts Group)是由ISO与IEC于1986年联合成立的一个专家委员会(WG1)。该委员会制定了一系列的静态连续...

     

     

    JPEG压缩编码过程

     

    1.1 JPEG简介

     

             JPEGJoint Photographic Experts Group)是由ISOIEC1986年联合成立的一个专家委员会(WG1)该委员会制定了一系列的静态连续色调图像压缩编码标准(如:有损、无损及接近无损等编码标准,并于1996年开始制定JPEG 2000标准。

    JPEG文件使用的颜色空间为YCbCr空间。因此要先将RGB转化为YCbCr空间:

                       Y = 0.299 R + 0.587 G + 0.114 B

         Cb = - 0.1687R - 0.3313G + 0.5 B + 128

         Cr = 0.5 R - 0.4187G - 0.0813 B + 128

     

    1.2     JPEG压缩编码及解压缩算法

    1.1 压缩编码算法                1.2解压缩算法

     

    JPEG压缩编码算法的主要计算步骤如下(解压缩步骤与其相反)

    (1)正向离散余弦变换(FDCT)

    (2)量化;

    (3)Z形扫描;

    (4)使用差分脉冲编码调制(DPCM)对直流系数(DC)进行编码;使用行程长度编码(RLE)对交流系数(AC)进行编码;熵编码。

     

    1.2.1          FDCT

     

             对每个单独的彩色图像分量,把整个分量图像分成8x8的图像块,并作为二维离散变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。它所作的变换可以简单地理解成(x,y)->(x’,y’),即实数对应到实数。

    DCT变换使用下面的计算公式:

    它的逆变换使用下式计算:

    在上面的式子中:

     

    f(ij)经变换之后,F(0,0)是直流系数(DC,64个空域图像采样值的平均值),其他为交流系数(AC)

     

    1.2.2  量化

     

        量化是对经过FDCT变换后的频率系数进行量化,其目的是减小非“0”系数的幅度以及增加“0”值系数的数目。对于有损压缩算法,使用均匀量化器进行量化。用FDCT生成的数据除以对应的量化步距。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色差量化值。

    1.3亮度量化表         1.4 色差量化表

     

    1.2.3          z形扫描

     

     

    1.5 Z形扫描

     

             量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排,其结果是把一个8x8的矩阵变成一个1x64的矢量,频率较低的系数放在矢量的顶部。

     

    1.2.4          DC编码

     

             8x8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8x8图像块的DC系数值变化不大。JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码。

     

    1.2.5         AC编码

             AC系数的特点:1x64矢量中包含有许多“0”系数,并且许多“0”是连续的。JPEG使用非常简单和直观的游程编码(RLE)对它们进行编码。

    例如:5555557777733322221111111

    行程编码为:(56)(75)(33)(24)(17)

     

    1.2.6         熵编码

             采用huffman编码。对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。压缩数据符号时,霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。

        参考资料

    http://read.chaoxing.com/ebook/read_11769804.html DCT

    http://read.chaoxing.com/ebook/read_12304091.html 数字图像处理

    http://nes.ustc.edu.cn/jy/05/050001/050001005/m3_2.ppt JPEG图像编码标准

    展开全文
  • JPEG压缩编码源程序

    2007-10-10 10:51:46
    行程编码,JPEG压缩编码(基本系统) <br>命令行编译过程如下 vcvars32 rc bmp.rc cl compress.c bmp.res user32.lib gdi32.lib <br>注意事项: 运行时,文件c:\test.pcx;c:\test.jpg必须存在
  • L9_JPEG压缩编码.pdf

    2020-06-28 20:10:27
    jpeg图片压缩格式的详细介绍以及流程讲解
  • 在介绍图象的压缩编码之前,先考虑一个问题:为什么要压缩?其实这个问题不用我回答,你也能想得到。因为图象信息的数据量实在是太惊人了。举一个例子就明白了,一张A4(210mm*297mm) 幅面的照片,若用中等分辨率...
  • 基于vc++6.0的图像压缩编码jpeg格式压缩 以及其源代码 介绍了jpeg的压缩格式
  • 网络上的编码表大都不全,而且有部分错误。这一份表格是从官方的文档中扣取出来的,对照lib-jpeg的C代码修改了几处错误,是完整而且正确的。亲测没有问题。
  • 图象的压缩编码,JPEG压缩编码标准-续 飞云 发表于 2006-4-7 10:06:24 8×8的图象经过DCT变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT变换实际上是空间域的低通滤波器)。由于该低频...
  • JPEG压缩编码算法原理

    千次阅读 2018-11-22 10:43:42
    本文介绍JPEG压缩技术的原理,对于DCT变换、Zig-Zag扫描和Huffman编码,给出一个较为清晰的框架。   1. JPEG压缩的编解码互逆过程:   编码     解码           2. 具体过程:(这里仅以...
  • JPEG压缩编码原理

    2009-10-25 16:23:49
    JPEG压缩分四个步骤实现: 1.颜色模式转换及采样; 2.DCT变换; 3.量化; 4.编码
  • 行程编码,JPEG压缩编码(基本系统)算法.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,369
精华内容 547
关键字:

jpeg压缩编码