图像压缩高难度问题(200分)

W

westdog

Unregistered / Unconfirmed
GUEST, unregistred user!
有没有现成的比jpg压缩率更高的压缩算法?我需要把图片在网络上传输,需要一种压缩率更高,能够保障图片质量的算法。
 
用无损压缩算法 zlib也可以呀,
当然压缩率和压缩速度是不可能兼得的
 
主要看你是什么类型的图像吧?如果是真彩色,图像复杂的,比如照片,可能没有什么会比
jpeg格式压缩更好了(常用的),如果是屏幕抓图之类的图片,用gif格式压缩或Rle之类的
行程压缩方法就会比较好。
 
有没有将bmp压缩为gif的压缩算法或者控件?
 
当然有,你去找找,有一个gifimage接口单元。如果找不到,我可以发一个给你,就是不
知是否有新版本了,我那个下载有几年了。
 
有没有将bmp压缩为gif的压缩算法或者控件?

这样压缩要失真的,gif只能是256色。

还是推荐你用zlib吧!
 
zlib压缩的速度不是很理想
 
失真是肯定的,gifimage的压缩速度也不理想,但是Gif里采用的rle行程压缩算法对于
屏幕抓图之类的图片压缩率比较高。
 
zlib压缩率太差了,失真无所谓。bmp->gif算法谁有?
 
我找了一个gifimage for d6的,可是不能够读入bmp
 
单帧(或不相关图形序列)的压缩,应该jpeg是最好的。
GIF对于某些简单的图形如卡通图形压缩率比较好,所以有颜色限制。
而对于连续图形序列,有比较多的算法可供选择。比如 mpeg,rm等格式。
图像的压缩率甚至质量都比jpeg好。
 
不同意 西方狗(westdog)的说法,
zlib的压缩率是很高的,我用它来压缩动态捕捉的屏幕图像
把1.4M的数据压缩到3K多, 这压缩率还不高吗?

压缩率和要压缩的数据密切相关,在不失真的前提下,对同样的数据才能进行比较
 
呵呵,zlib是无损压缩,
压缩比的问题不能简单的比较,首先要判断被压缩对象的冗余信息
如果冗余信息很少,压缩比当然小,如果冗余信息很多,压缩比相对来说就会比较大
所以比较前要有相同的基础
楼上的人说zlib压缩bmp有多高,那是你的bmp颜色不够丰富(大部分像素颜色一致)

如果是简单的图片,那还是用jpeg比较好,delphi自带了jpeg类,可以根据需求调节压缩比
默认是80(质量),
如果是连续的视频,当然最好不要用jpeg了,可以用一些视频编码算法压缩,例如divx,mpeg4等等
微软有现成的api,网上也有人把那些api翻译成delphi的接口

 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
768
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
602
import
I
顶部