关于jpeg2000(for vxworks)编码软件的使用说明
关于jpeg2000标准的介绍,前面已经有文章(http://bbs.edw.com.cn/dispbbs.asp?BoardID=3&ID=31768)专门讲述。这里不再重复。本文只提供了软件实现方面有关的内容,并提供了以一个实用的软件包。其中主要包含了两个接口函数和一个数据结构定义。 分别叙述如下:
编码参数结构J2K_COMPRESS_PARA :
struct J2K_COMPRESS_PARA { int width; int height; int format; /* YUV, RGB*/ int depth; /* 24b, B/W8*/ unsigned char *R; /* source image data,red component */ unsigned char *G; /* source image data green component*/ unsigned char *B; /* source image data blue component*/ int headlen; /* head length of the image, skipped by algorithm */ int size; /* the expected j2k file's size */ };
其中: width指图像的宽度,用像素表示 height指图像的宽度,用像素表示 format用来指示图像的格式,如YUV RGB格式。 目前只支持RGB格式。YUV的格式将在后面增加 depth 表示图像的深度,彩色位图支持24比特;黑白图像支持256灰度 unsigned char *R 指示RGB格式下图像的红色分量图像。 unsigned char *G 指示RGB格式下图像的绿色分量图像。 unsigned char *B 指示RGB格式下图像的兰色分量图像。 headlen 指示图像头的长度。可以不要 size 指示编码后的码长。可以根据压缩比等指标换算,使用灵活。
extern int j2kEncode(J2K_COMPRESS_PARA *para,unsigned char *jBuf);、 j2k库提供的编码API函数 para提供编码图像和参数 jBuf提供编码后码流存放空间 由用户自行分配和回收 编码成功,返回编码长度; 如果编码失败,则返回负数;
extern int j2kDecode(J2K_COMPRESS_PARA *para,unsigned char *jBuf);
j2k库提供的解码API函数,解码后图像存储空金由解码器分配,由用户回收释放 jBuf提供j2k码流 解码成功,返回成功; 如果解码失败,则返回负数;
关于具体的例子,参考附件。 不再赘述。 该例子只简单演示了库的实用方法,用户可自行修改,如添加关于编解码失败的处理段。
在Pentium平台 Tornado2.0上通过。使用时可以把库(j2k.a)直接链接入你的工程即可直接使用。 还有许多扩展功能,将会逐建添加!
祝大家好运!
[upload=rar]viewFile.asp?ID=4137[/upload] [align=right][color=#000066][此贴子已经被作者于2004-10-19 21:46:10编辑过][/color][/align]