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

📄 image.hh

📁 VC小波算法1,高效率VC小波算法1
💻 HH
字号:
/*---------------------------------------------------------------------------*/// Baseline Wavelet Transform Coder Construction Kit//// Geoff Davis// gdavis@cs.dartmouth.edu// http://www.cs.dartmouth.edu/~gdavis//// Copyright 1996 Geoff Davis 9/11/96//// Permission is granted to use this software for research purposes as// long as this notice stays attached to this software.///*---------------------------------------------------------------------------*/#ifndef _IMAGE_#define _IMAGE_#include "global.hh"/*---------------------------------------------------------------------------*/// Basic image class// Improvements that would be useful://    It would be nice if one could load and save in formats other//    than raw byte formatclass Image {public:  // Create a blank image with width=hsize, height=vsize  //    If hsize is unspecified, creates an image of width=0, height=0  //    If vsize is unspecified, creates a square image of width=height=hsize  Image  (int hsize = -1, int vsize = -1);  // Copy constructor  Image  (const Image& image);  // Loads an image of size hsize by vsize from the specified file  //    The file is assumed to contain an image in raw byte format  Image  (const char *filename, int hsize, int vsize = -1);  // Loads an image of size hsize by vsize from the specified file  //    The file is assumed to contain an image in PGM format  Image  (const char *filename);  // Destructor  ~Image ();    // Assignment operator  Image& operator= (const Image &image);  // Alternative means of addressing pixels  Real& operator() (int i) { return value[i]; }  // Second method of addressing pixels  Real& operator() (int x, int y) { return value[y*hsize+x]; }    // Loads an image from the specified file.  The file is assumed to  //   contain an image in raw byte format of size hsize by vsize  void loadRaw   (const char *filename);  // Saves an image to the specified file.  The image is written in  //   raw byte format.  void saveRaw   (const char *filename);  // Load an image from a PGM file.  void loadPGM (const char *filename);  // Save an image to a PGM file.  void savePGM (const char *filename);  // Compares one image to another and returns the PSNR  Real compare_psnr (const Image *im2);  // Compares one image to another and returns the mean squared error  Real compare_mse (const Image *im2);  // Resize an image -- crop original image or pad with 0's to make fit  //   new boundaries  void resize (int new_hsize, int new_vsize);  unsigned char realToChar (Real x)        { return (x>255?255:(x<0?0:(unsigned char)(x+0.5))); };  Real *value;  int hsize, vsize;protected:  void PGMSkipComments (FILE* infile, unsigned char* ch);  unsigned int PGMGetVal (FILE* infile);  void PGMLoadData (FILE *infile, const char *filename);  void PGMSaveData (FILE* outfile);};/*---------------------------------------------------------------------------*/#endif/*---------------------------------------------------------------------------*/

⌨️ 快捷键说明

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