tilib-0.9.1-vc6
所属分类:图形图像处理
开发工具:C/C++
文件大小:42KB
下载次数:69
上传日期:2007-04-19 13:09:59
上 传 者:
zmshy2128
说明: 经典算法spiht的c语言实现代码,用于图象压缩
(classical algorithm spiht the c code language for image compression)
文件列表:
ari.c (5141, 2004-02-09)
ari.h (2186, 2004-02-09)
bitio.c (2753, 2004-02-09)
bitio.h (1584, 2004-02-09)
butterworth.c (18473, 2004-02-09)
butterworth.h (1566, 2004-02-09)
color.c (2118, 2004-02-09)
color.h (1224, 2004-02-09)
daub97.c (8155, 2004-02-09)
daub97.h (1856, 2004-02-09)
errcodes.h (1396, 2004-02-09)
extend.c (3755, 2004-02-09)
extend.h (1524, 2004-02-09)
license.txt (18315, 2004-02-09)
nodelist.c (3006, 2004-02-09)
nodelist.h (1599, 2004-02-09)
pbm.c (2054, 2003-04-04)
pbm.h (761, 2003-04-05)
spiht.c (24364, 2004-02-09)
spiht.h (2043, 2004-02-09)
split.c (4738, 2004-02-09)
split.h (1782, 2004-02-09)
ticodec.c (8321, 2004-02-13)
tilib.c (15629, 2004-02-09)
tilib.dsp (5764, 2004-02-10)
tilib.dsw (533, 2003-10-04)
tilib.h (2018, 2004-02-09)
[ Introduction ]
TiLib (Tiny Library) is a wavelet-based lossy image compression library.
Library provides simple memory-to-memory interface. TiLib supports famous
Daubechies 9/7 biorthogonal wavelet filter and Butterworth biorthogonal
wavelet filter. All transforms are implemented in a fast lifting mode.
Finally, TiLib uses SPIHT algorithm to encode transformed coefficients.
TiLib can work with either 8-bit grayscale or 24-bit truecolor images.
TiLib supports precise rate control and fully embedded encoding.
This package includes simple codec (ticodec) that shows how to use TiLib
for image coding. You will see that TiLib API is straightforward.
[ change log ]
0.9.0
* initial version
0.9.1
* modified Butterworth filter
* improved command line parsing
* separate TiLib package for Win32 (VC6 project) and UNIX (autoconf)
* some minor bug fixes in ticodec
[ ticodec usage ]
usage:
ticodec [-e|-d] [-i:infile] [-o:outfile]
[-l:levels] [-s:size]
[-y:Y% -b:Cb% -r:Cr%]
[-B|-D]
Options:
-e encode image
-d decode image
-i input file
-o output file
All other options are valid ony for encoding (-e option).
-l number of transform levels, i.e. number of scales
-s desired encoded image size in bytes (at least 26 bytes)
-B use Butterworth wavelet filter
-D use Daubechies 9/7 wavelet filter
-y, -b and -r options are a bit tricky
Color image consists of 3 channels, called RGB. However, in image
compression the most common colorspace is YCbCr. In TiLib, each
channel is encoded separately (as there were 3 grayscale images).
That`s why, when you say "-s:1000" it`s not clear how to compress
each of Y, Cb, Cr channels.
TiLib allows you to mix encoded streams for Y, Cb and Cr channels
with specified ratio. For example, "-s:1000 -y:90 -b:8 -r:2" means
encode Y channel of the input image to 900 bytes, Cb - to 80 bytes
and Cr - to 20. Obviously, Y% + Cb% + Cr% must be equal to 100%.
This is true for our example. Indeed,
90% (900 bytes) + 8% (80 bytes) + 2% (20 bytes) = 100% (1000 bytes).
The default values for Y, Cb, Cr are 90%, 5%, 5% respectively.
Now everything must be clear. If not, ask me =)
[ To do or not to do? ]
Well, nothing planned yet =)
[ Contact me ]
http://www.entropyware.info
xander@entropyware.info
[ P.S. ]
If this program works, than it was written by Alexander Simakov,
if not, than I don`t known who wrote it ;)
And the last, but not the least: if you use TiLib or ticodec in
your projects, please let me known. I will be very happy ;)
近期下载者:
相关文件:
收藏者: