00001
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef _GAN_CONVOLVE2D_H
00030 #define _GAN_CONVOLVE2D_H
00031
00032 #include <gandalf/vision/mask2D.h>
00033 #include <gandalf/image/image_defs.h>
00034 #include <gandalf/image/image_channel.h>
00035
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039
00050 Gan_Bool gan_convolve2D_f ( float *source,
00051 int sstride,
00052 float *dest,
00053 int dstride,
00054 Gan_Mask2D *mask,
00055 unsigned long width );
00056 Gan_Bool gan_convolve2D_d ( double *source,
00057 int sstride,
00058 double *dest,
00059 int dstride,
00060 Gan_Mask2D *mask,
00061 unsigned long width);
00062 Gan_Bool gan_convolve2D_i ( int *source,
00063 int sstride,
00064 int *dest,
00065 int dstride,
00066 Gan_Mask2D *mask,
00067 unsigned long width);
00068 Gan_Bool gan_convolve2D_uc ( unsigned char *source,
00069 int sstride,
00070 unsigned char *dest,
00071 int dstride,
00072 Gan_Mask2D *mask,
00073 unsigned long width );
00074 Gan_Bool gan_convolve2D_us ( unsigned short *source,
00075 int sstride,
00076 unsigned short *dest,
00077 int dstride,
00078 Gan_Mask2D *mask,
00079 unsigned long width);
00080 Gan_Bool gan_convolve2D_ui ( unsigned int *source,
00081 int sstride,
00082 unsigned int *dest,
00083 int dstride,
00084 Gan_Mask2D *mask,
00085 unsigned long width );
00086
00087
00088 Gan_Image *gan_image_convolve2D_q ( Gan_Image *image,
00089 Gan_ImageChannelType channel,
00090 Gan_Mask2D *mask, Gan_Image *dest );
00091
00108 Gan_Image *gan_image_convolve2D_s ( Gan_Image *image,
00109 Gan_ImageChannelType channel,
00110 Gan_Mask2D *mask );
00111
00120 #ifdef __cplusplus
00121 }
00122 #endif
00123
00124 #endif