关于jpg(50分)

L

lamos

Unregistered / Unconfirmed
GUEST, unregistred user!
我想研究计算机图形压缩算法,请大家就以下问题提供帮助。
1. Jpg压缩算法的数学原理(计算方法)。
2. 实现以上数学计算方法的源程序。
3. Jpg压缩算法应用实例:
a.压缩bmp位图文件至Jpg文件的压缩器及源程序
b.浏览Jpg文件的浏览器及源程序
以上希望以Delphi或C++build,Vc++,来实现。
 
到网上找个带源程序的jpg控件,不就可以了。
http://vcl.vclxx.com/delphigb/
http://delphi.ncc.com.tw/
 
使用下面的方法来显示:
use jpeg;
...
var
Jpeg1: TJpegImage;
begin
Jpeg1 := TJpegImage.Create;
Jpeg1.CompressionQuality := 50;
jpeg1.LoadFromFile('.jpg文件路径和文件名');
image1.Picture.Graphic:=jpeg1;
end;
 
在这里讨论这种纯学术问题很难得到满意的答案,
因为太长了,不可能贴到这里来.

简单地说JPEG是使用DCT变换进行压缩的,至于为
什么DCT可以进行压缩,建议参考相关书籍,内容实
在太长了.

关于DCT的源码很多,最好的是IJG JPEG 6a/6b,
其它JPEG的源码几乎都是修改自这里.BCB/Delphi
的最新版都已经支持JPEG,其使用的源码也是
IJG JPEG. IE使用的也是IJG JPEG.在VCL里面
可以找到其PASCAL版源码.
 
delphi 支持JPG没什么问题的,与bmp转换也不成问题,都有现成的东西.
 
JPEG先进行DCT正变化,再对DCT系数量化,对量化后的系数进行差分编码或游程
编码,最后在进行熵编码。DCT为离散余弦变化。
 
多人接受答案了。
 
顶部