资源简介
压缩包的内容包括:1.有关JPEG和DPCM算法的文章;2.实现其算法的压缩程序3.有关图像压缩方面的资料。读者请注意:
这里讨论的是灰度图像的压缩不涉及彩色图像。
实现压缩时,输入的图像数据采用一种自定义的格式(com 格式),前四个字节记录图像的宽度和高度,之后就是逐
行的图像数据,图像的开头和结尾没有任何标记。这种格式的图像数据是从BMP图像中得到的。
这里没有JPEG算法的解压程序,压缩后的数据存成标准的JPEG文件格式,任何视图软件都可以打开。DPCM方法中的解
压缩程序将数据仍然存成com格式,可以将其转成PGM格式观看,压缩包中由com转为PGM格式的程序。
所有的C程序均是在Linux(Rethat7.3)下完成。

代码片段和文件信息
/*This program is wrote by Fujian Shi(fieagle@yahoo.com.cn)*/
/*It can transform the com file to pgm file you can watch the picture*/
#include “stddef.h“
#include “stdio.h“
void put_measure(FILE *fileunsigned int valchar th)
{
int i=10000temptime=0;
if (th == 0) i /=10;
while(1) {
i/=10;
temp=val/i;
if (temp >0)
time++;
if(temp>10) {
printf(“Please increase the origin value of inow it is 10000.\n“);
exit(0);
}
if ((time==0) && (temp==0))
continue;
putc((char) (temp+48)file);
if((val-=i*temp)==0)
break;
}
}
main(int argcchar *argv[])
{
#define UCH(x) ((int) (x))
#define GET_2B(arrayoffset) ((unsigned int) UCH(array[offset]) + \
(((unsigned int) UCH(array[offset+1])) << 8))
#define JFREAD(filebufsizeofbuf) \
((size_t) fread((void *) (buf) (size_t) 1 (size_t) (sizeofbuf) (file)))
#define ReadOK(filebufferlen) (JFREAD(filebufferlen) == ((size_t) (len)))
FILE *file1*file2;
char c1;
unsigned int widthheight;
int c2;
unsigned char width_height[4];
if ((file1=fopen(argv[1]“rb“))==NULL)
printf(“the %scan‘t be opened“argv[1]);
if ((file2=fopen(argv[2]“wb+“))==NULL)
printf(“the %scan‘t be opened“argv[2]);
if (! ReadOK(file1 width_height 4)){
printf(“error when read the head of file1“);
exit(0);
}
width=GET_2B(width_height0);
height=GET_2B(width_height2);
c1=80;
fputc(c1file2);
c1=0x35;
fputc(c1file2);
c1=10;
fputc(c1file2);
/*fputc((char) 48file2);*/
put_measure(file2width1);
c1=32;
fputc(c1file2);
/*fputc((char) 48file2);*/
put_measure(file2height1);
c1=10;
fputc(c1file2);
put_measure(file2(unsigned int)2550);
fputc((char) (10)file2);
while ((c2 = getc(file1)) != EOF)
putc((char) (c2)file2);
fclose(file1);
fclose(file2);
return(0);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1946 2003-07-11 13:51 source_code\com2pgm.c
文件 180350 2007-11-09 00:32 source_code\Debug\com2pgm.exe
文件 184492 2007-11-09 00:32 source_code\Debug\com2pgm.ilk
文件 5575 2007-11-09 00:32 source_code\Debug\com2pgm.obj
文件 175852 2007-11-09 00:32 source_code\Debug\com2pgm.pch
文件 369664 2007-11-09 00:32 source_code\Debug\com2pgm.pdb
文件 33792 2007-11-09 00:32 source_code\Debug\vc60.idb
文件 45056 2007-11-09 00:32 source_code\Debug\vc60.pdb
文件 2633 2003-06-13 15:47 source_code\get_image_data\bmpgray\commondecls.h
文件 2135 2003-03-06 20:43 source_code\get_image_data\bmpgray\jccolor.c
文件 26624 2007-11-22 12:25 source_code\get_image_data\bmpgray\jccolor.doc
文件 13630 2003-07-11 10:13 source_code\get_image_data\bmpgray\rdbmp.c
文件 58368 2007-11-22 12:24 source_code\get_image_data\bmpgray\rdbmp.doc
文件 814 2003-03-04 16:52 source_code\get_image_data\save_com_image\commondecls.h
文件 12386 2003-07-11 10:21 source_code\get_image_data\save_com_image\saveudbmp.c
文件 814 2003-03-04 16:52 source_code\get_image_data\verse_image\commondecls.h
文件 14165 2003-07-11 10:18 source_code\get_image_data\verse_image\rdbmp.c
文件 14085 2003-06-13 16:32 source_code\get_image_data\verse_image\rdbmp.c~
文件 34304 2007-11-20 00:47 source_code\jpeg\commondecls.doc
文件 3870 2003-03-11 22:11 source_code\jpeg\commondecls.h
文件 44032 2007-11-17 10:26 source_code\jpeg\dct.doc
文件 7248 2003-07-11 10:36 source_code\jpeg\jchuff.c
文件 41984 2007-11-20 00:47 source_code\jpeg\jchuff.doc
文件 8151 2003-07-11 10:39 source_code\jpeg\jcmarker.c
文件 52224 2007-11-20 00:48 source_code\jpeg\jcmarker.doc
文件 8195 2007-11-16 22:59 source_code\jpeg\jfdctint.c
文件 498 2003-03-10 18:39 source_code\jpeg\jum.c
文件 24064 2007-11-20 00:49 source_code\jpeg\jum.doc
文件 5633 2003-07-11 10:34 source_code\jpeg\quanhuff.c
文件 40448 2007-11-20 00:46 source_code\jpeg\quanhuff.doc
............此处省略33个文件信息
相关资源
- QT,JPEG解码源代码(已完成)
- 将yuv各种格式的图片转换为jpg格式的
- 2006年湖北工业大学409数据结构试题
- jpeg图像压缩实例代码
- 基于V4L2的视频采集,能够采集YUVJPE
- 利用FFmpeg将Jpeg图片转为任意视频容器
- jpeglib读取jpeg,转为bmp图,24真彩和灰
- JPEG2000编码核心算法:EBCOT
- turbo-jpeg
- jpeg-8c库 及H264转jpeg代码
- opencv jpeg 编解码
- stm32+JPEG+bmp+RM04_WIFI+二值图像.rar
- JpegToYUV源代码
- ffmpeg将一个视频文件解码输出bmp和j
- libjpeg-turbo-1.2.1.tar.gz
- zw_JPEG400.zip
- JPEG 编解码的程序大全我搜集的所有程
- JPEG标准中文版
- libjpeg-turbo.rar
- mjpeg_viewer_win软件
- jpeg编码实现
- kakadu2.2.3和openjpeg1.3两开源图像压缩软
- Mjpeg-streamer流实现抓拍功能
- 小波分析经典教材小波变换与JPEG200
- C实现的JPEG编码源代码,决定真实
- ios libjpeg .a静态库
- ISO/IEC 10918-1 ITU-T.81
- JPEG头信息解析c
- JPEG编码器源代码分析
- jpeg编解码原理详解
评论
共有 条评论