Linear Methods for Image Interpolation
|
00001 00016 #ifndef _LINTERP_H_ 00017 #define _LINTERP_H_ 00018 00019 typedef enum 00020 { 00021 BOUNDARY_CONSTANT = 0, 00022 BOUNDARY_HSYMMETRIC = 1, 00023 BOUNDARY_WSYMMETRIC = 2 00024 } boundaryhandling; 00025 00026 int LinScale2d(float *Dest, int DestWidth, float XStart, float XStep, 00027 int DestHeight, float YStart, float YStep, 00028 const float *Src, int SrcWidth, int SrcHeight, int NumChannels, 00029 float (*Kernel)(float), float KernelRadius, int KernelNormalize, 00030 boundaryhandling Boundary); 00031 00032 int FourierScale2d(float *Dest, int DestWidth, float XStart, 00033 int DestHeight, float YStart, 00034 const float *Src, int SrcWidth, int SrcHeight, int NumChannels, 00035 double PsfSigma, boundaryhandling Boundary); 00036 00037 int LinInterp2d(float *Dest, const float *Src, int SrcWidth, int SrcHeight, 00038 float *X, float *Y, int NumSamples, 00039 float (*Kernel)(float), float KernelRadius, int KernelNormalize, 00040 boundaryhandling Boundary); 00041 00042 int MakeScaleRotationGrid(float **X, float **Y, int *GridWidth, 00043 int *GridHeight, int SrcWidth, int SrcHeight, float Scale, float Theta); 00044 00045 #include "lprefilt.h" 00046 #include "lkernels.h" 00047 00048 #endif /* _LINTERP_H_ */