⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spihtimg.h

📁 spiht的压缩解压缩c编写的
💻 H
字号:
#ifndef SPIHTIMG_H
#define SPIHTIMG_H

#include "spiht.h"

#define QCCIMGTYPE_UNKNOWN 0
#define QCCIMGTYPE_PBM     1
#define QCCIMGTYPE_PGM     2
#define QCCIMGTYPE_PPM     3
#define QCCIMGTYPE_ICP     4

/*   image_component.c   */
typedef QccMatrix QccIMGImageArray;
#define QCCIMGIMAGECOMPONENT_MAGICNUM "ICP"
typedef struct
{
  QccString filename;
  QccString magic_num;
  int major_version;
  int minor_version;
  int num_rows;
  int num_cols;
  double min_val;
  double max_val;
  QccIMGImageArray image;
} QccIMGImageComponent;
int QccIMGImageComponentInitialize(QccIMGImageComponent *image_component);
int QccIMGImageComponentAlloc(QccIMGImageComponent *image_component);
void QccIMGImageComponentFree(QccIMGImageComponent *image_component);
int QccIMGImageComponentReadHeader(FILE *infile, 
                                   QccIMGImageComponent 
                                   *image_component);
int QccIMGImageComponentRead(QccIMGImageComponent *image_component);
int QccIMGImageComponentSetMin(QccIMGImageComponent *image_component);
int QccIMGImageComponentSetMax(QccIMGImageComponent *image_component);

/*   image.c    */
typedef struct
{
  int image_type;
  QccString filename;
  QccIMGImageComponent Y;
  QccIMGImageComponent U;
  QccIMGImageComponent V;
} QccIMGImage;
int QccIMGImageInitialize(QccIMGImage *image);
int QccIMGImageGetResolution(const QccIMGImage *image,
                             int *num_rows, int *num_cols);
int QccIMGImageSetResolution(QccIMGImage *image,
                             int num_rows, int num_cols);
int QccIMGImageAlloc(QccIMGImage *image);
void QccIMGImageFree(QccIMGImage *image);
double QccIMGClipPixelValue(double val);
int QccIMGImageColor(const QccIMGImage *image);
int QccIMGImageDetermineType(QccIMGImage *image);
int QccIMGImageRead(QccIMGImage *image);
int QccIMGImageWrite(QccIMGImage *image);
int QccIMGImageComponentWriteHeader(FILE *outfile, 
                                    const QccIMGImageComponent 
                                    *image_component);
int QccIMGImageComponentWriteData(FILE *outfile,
                                  const QccIMGImageComponent *image_component);
int QccIMGImageComponentWrite(const QccIMGImageComponent *image_component);
int QccIMGImageSetMin(QccIMGImage *image);
int QccIMGImageSetMax(QccIMGImage *image);
int QccIMGImagePnmWrite(const QccIMGImage *image);

/*   image_pnm.c   */
#define QCCIMG_PNM_RAW 0
#define QCCIMG_PNM_ASCII 1
void QccIMGImagePnmGetType(const QccString magic_number,
                           int *returned_image_type,
                           int *returned_raw);
int QccIMGImagePnmRead(QccIMGImage *image);
/*   image_color_conversion.c   */
void QccIMGImageRGBtoYUV(double *y, double *u, double *v,
                         int r, int g, int b);
void QccIMGImageYUVtoRGB(int *r, int *g, int *b,
                         double y, double u, double v);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -