#if !defined(IMAGE_UTIL_H_H) #define IMAGE_UTIL_H_H #include #include #include "type-def.h" #include "util-util.h" #if defined(IMAGE_UTIL_SOURCE_C_C) void Free_Image_8Bit(IMAGE8BIT *animage); int Allocate_Image_8Bit(IMAGE8BIT *animage, int row, int col); void Init_Image_8Bit(IMAGE8BIT *animage, unsigned char Const); void Copy_Image_8Bit(IMAGE8BIT *animage,IMAGE8BIT *resimage); void Change_Image_8Bit(IMAGE8BIT *animage, unsigned char old, unsigned char new); void Write_Image_8Bit_ToP5(IMAGE8BIT *animage, char *fName); void Write_Image_8Bit_ToP5_With_Max(IMAGE8BIT *animage, char *fName, int maxvalue); int Read_Image_FromP5(IMAGE8BIT *animage, char *fName); int Read_Image_FromP5_No_Relocate(IMAGE8BIT *animage, char *fName); void Free_Image_INT(IMAGEINT *animage); int Allocate_Image_INT(IMAGEINT *animage, int row, int col); void Init_Image_INT(IMAGEINT *animage, unsigned int Const); void Change_Image_INT(IMAGEINT *animage, unsigned int old, unsigned int new); void Convert_INT_To_8BIT(IMAGEINT *animage, IMAGE8BIT *resimg); void Free_Image_FLOAT(IMAGEFLOAT *animage); int Allocate_Image_FLOAT(IMAGEFLOAT *animage, int row, int col); void Init_Image_FLOAT(IMAGEFLOAT *animage, float Const); void Change_Image_FLOAT(IMAGEFLOAT *animage, float old, float new); void Convert_FLOAT_To_8BITBinary(IMAGEFLOAT *animage, IMAGE8BIT *resimg); void Convert_FLOAT_To_8BIT(IMAGEFLOAT *animage, IMAGE8BIT *resimg); void Convert_8BIT_To_FLOAT(IMAGE8BIT *animage, IMAGEFLOAT *resimg); void Write_Image_Int(IMAGEINT *animage, char *fName, int maxvalue); int Read_Image_Int_FromP2(IMAGEINT *animage, char *fName); int Read_Image_FromP2_No_Relocate(IMAGEINT *animage, char *fName); int Read_ALineFromImage(IMAGEINT *animage, int *line, int crow, int fcolor); int ReadP5MaxValue(char *fName); unsigned char **ReadP5(char *fName, int *row, int *col); int ReadP5IntoArray(char *fName, int row, int col, unsigned char **dArray); unsigned int **ReadP2(char *fName, int *row, int *col); int ReadP2IntoArray(char *fName, int row, int col, unsigned int **dArray); void WriteP5Char(char *fName, int row, int col, unsigned char **dArray); void WriteP5CharWithMax(char *fName, int row, int col, unsigned char **dArray, int maxValue); void WriteP2Char(char *fName, int row, int col, unsigned int **dArray, int maxValue); int Calc_Local_Variance(IMAGE8BIT *animage, int wsize, int crow, int ccol, double *avg, double *var); int Calc_Local_MinMax(IMAGE8BIT *animage, int wsize, int crow, int ccol, double *MinVal, double *MaxVal); #else extern void Free_Image_8Bit(IMAGE8BIT *animage); extern int Allocate_Image_8Bit(IMAGE8BIT *animage, int row, int col); extern void Init_Image_8Bit(IMAGE8BIT *animage, unsigned char Const); extern void Copy_Image_8Bit(IMAGE8BIT *animage,IMAGE8BIT *resimage); extern void Change_Image_8Bit(IMAGE8BIT *animage, unsigned char old, unsigned char new); extern void Write_Image_8Bit_ToP5(IMAGE8BIT *animage, char *fName); extern void Write_Image_8Bit_ToP5_With_Max(IMAGE8BIT *animage, char *fName, int maxvalue); extern int Read_Image_FromP5(IMAGE8BIT *animage, char *fName); extern int Read_Image_FromP5_No_Relocate(IMAGE8BIT *animage, char *fName); extern void Free_Image_INT(IMAGEINT *animage); extern int Allocate_Image_INT(IMAGEINT *animage, int row, int col); extern void Init_Image_INT(IMAGEINT *animage, unsigned int Const); extern void Change_Image_INT(IMAGEINT *animage, unsigned int old, unsigned int new); extern void Convert_INT_To_8BIT(IMAGEINT *animage, IMAGE8BIT *resimg); extern void Free_Image_FLOAT(IMAGEFLOAT *animage); extern int Allocate_Image_FLOAT(IMAGEFLOAT *animage, int row, int col); extern void Init_Image_FLOAT(IMAGEFLOAT *animage, float Const); extern void Change_Image_FLOAT(IMAGEFLOAT *animage, float old, float new); extern void Convert_FLOAT_To_8BITBinary(IMAGEFLOAT *animage, IMAGE8BIT *resimg); extern void Convert_FLOAT_To_8BIT(IMAGEFLOAT *animage, IMAGE8BIT *resimg); extern void Convert_8BIT_To_FLOAT(IMAGE8BIT *animage, IMAGEFLOAT *resimg); extern void Write_Image_Int(IMAGEINT *animage, char *fName, int maxvalue); extern int Read_Image_Int_FromP2(IMAGEINT *animage, char *fName); extern int Read_Image_FromP2_No_Relocate(IMAGEINT *animage, char *fName); extern int Read_ALineFromImage(IMAGEINT *animage, int *line, int crow, int fcolor); extern int ReadP5MaxValue(char *fName); extern unsigned char **ReadP5(char *fName, int *row, int *col); extern int ReadP5IntoArray(char *fName, int row, int col, unsigned char **dArray); extern unsigned int **ReadP2(char *fName, int *row, int *col); extern int ReadP2IntoArray(char *fName, int row, int col, unsigned int **dArray); extern void WriteP5Char(char *fName, int row, int col, unsigned char **dArray); extern void WriteP5CharWithMax(char *fName, int row, int col, unsigned char **dArray, int maxValue); extern void WriteP2Char(char *fName, int row, int col, unsigned int **dArray, int maxValue); extern int Calc_Local_Variance(IMAGE8BIT *animage, int wsize, int crow, int ccol, double *avg, double *var); extern int Calc_Local_MinMax(IMAGE8BIT *animage, int wsize, int crow, int ccol, double *MinVal, double *MaxVal) #endif #endif