IM: im_kernel.h Source File

IM - An Imaging Tool

im_kernel.h

Go to the documentation of this file.
00001 /** \file
00002  * \brief Kernel Generators
00003  * Creates several known kernels
00004  *
00005  * See Copyright Notice in im_lib.h
00006  */
00007 
00008 #ifndef __IM_KERNEL_H
00009 #define __IM_KERNEL_H
00010 
00011 #if defined(__cplusplus)
00012 extern "C" {
00013 #endif
00014 
00015 
00016 /** \defgroup kernel Kernel Generators
00017  * \par
00018  * Creates several known kernels
00019  * \par
00020  * See \ref im_kernel.h
00021  * \ingroup convolve */
00022 
00023 
00024 /** Creates a kernel with the following values:
00025  *
00026 \verbatim
00027    1  2  1
00028    0  0  0
00029   -1 -2 -1
00030 \endverbatim
00031  *
00032  * \verbatim im.KernelSobel() -> kernel: imImage [in Lua 5] \endverbatim
00033  * \ingroup kernel */
00034 imImage* imKernelSobel(void);
00035 
00036 /** Creates a kernel with the following values:
00037  *
00038 \verbatim
00039    1  1  1
00040    0  0  0
00041   -1 -1 -1
00042 \endverbatim
00043  *
00044  * \verbatim im.KernelPrewitt() -> kernel: imImage [in Lua 5] \endverbatim
00045  * \ingroup kernel */
00046 imImage* imKernelPrewitt(void);
00047 
00048 /** Creates a kernel with the following values:
00049  *
00050 \verbatim
00051    5  5  5
00052   -3  0 -3
00053   -3 -3 -3
00054 \endverbatim
00055  *
00056  * \verbatim im.KernelKirsh() -> kernel: imImage [in Lua 5] \endverbatim
00057  * \ingroup kernel */
00058 imImage* imKernelKirsh(void);
00059 
00060 /** Creates a kernel with the following values:
00061  *
00062 \verbatim
00063    0 -1  0 
00064   -1  4 -1 
00065    0 -1  0 
00066 \endverbatim
00067  *
00068  * \verbatim im.KernelLaplacian4() -> kernel: imImage [in Lua 5] \endverbatim
00069  * \ingroup kernel */
00070 imImage* imKernelLaplacian4(void);
00071 
00072 /** Creates a kernel with the following values:
00073  *
00074 \verbatim
00075   -1 -1 -1 
00076   -1  8 -1 
00077   -1 -1 -1 
00078 \endverbatim
00079  *
00080  * \verbatim im.KernelLaplacian8() -> kernel: imImage [in Lua 5] \endverbatim
00081  * \ingroup kernel */
00082 imImage* imKernelLaplacian8(void);
00083 
00084 /** Creates a kernel with the following values:
00085  *
00086 \verbatim
00087    0 -1 -1 -1  0
00088   -1  0  1  0 -1
00089   -1  1  8  1 -1
00090   -1  0  1  0 -1
00091    0 -1 -1 -1  0
00092 \endverbatim
00093  *
00094  * \verbatim im.KernelLaplacian5x5() -> kernel: imImage [in Lua 5] \endverbatim
00095  * \ingroup kernel */
00096 imImage* imKernelLaplacian5x5(void);
00097 
00098 /** Creates a kernel with the following values:
00099  *
00100 \verbatim
00101   -1 -1 -1 -1 -1 -1 -1
00102   -1 -1 -1 -1 -1 -1 -1
00103   -1 -1 -1 -1 -1 -1 -1
00104   -1 -1 -1 48 -1 -1 -1
00105   -1 -1 -1 -1 -1 -1 -1
00106   -1 -1 -1 -1 -1 -1 -1
00107   -1 -1 -1 -1 -1 -1 -1
00108 \endverbatim
00109  *
00110  * \verbatim im.KernelLaplacian7x7() -> kernel: imImage [in Lua 5] \endverbatim
00111  * \ingroup kernel */
00112 imImage* imKernelLaplacian7x7(void);
00113 
00114 /** Creates a kernel with the following values:
00115  *
00116 \verbatim
00117   0 -1 0  
00118   0  1 0  
00119   0  0 0  
00120 \endverbatim
00121  *
00122  * \verbatim im.KernelGradian3x3() -> kernel: imImage [in Lua 5] \endverbatim
00123  * \ingroup kernel */
00124 imImage* imKernelGradian3x3(void);
00125 
00126 /** Creates a kernel with the following values:
00127  *
00128 \verbatim
00129    0 -1 -1  0  1  1  0
00130   -1 -2 -2  0  2  2  1
00131   -1 -2 -3  0  3  2  1
00132   -1 -2 -3  0  3  2  1
00133   -1 -2 -3  0  3  2  1
00134   -1 -2 -2  0  2  2  1
00135    0 -1 -1  0  1  1  0
00136 \endverbatim
00137  *
00138  * \verbatim im.KernelGradian7x7() -> kernel: imImage [in Lua 5] \endverbatim
00139  * \ingroup kernel */
00140 imImage* imKernelGradian7x7(void);
00141 
00142 /** Creates a kernel with the following values:
00143  *
00144 \verbatim
00145   -1 0 0 
00146    0 0 0 
00147    0 0 1 
00148 \endverbatim
00149  *
00150  * \verbatim im.KernelSculpt() -> kernel: imImage [in Lua 5] \endverbatim
00151  * \ingroup kernel */
00152 imImage* imKernelSculpt(void);
00153 
00154 /** Creates a kernel with the following values:
00155  *
00156 \verbatim
00157   1 1 1 
00158   1 1 1 
00159   1 1 1 
00160 \endverbatim
00161  *
00162  * \verbatim im.KernelMean3x3() -> kernel: imImage [in Lua 5] \endverbatim
00163  * \ingroup kernel */
00164 imImage* imKernelMean3x3(void);
00165 
00166 /** Creates a kernel with the following values:
00167  *
00168 \verbatim
00169   1 1 1 1 1 
00170   1 1 1 1 1 
00171   1 1 1 1 1 
00172   1 1 1 1 1 
00173   1 1 1 1 1 
00174 \endverbatim
00175  *
00176  * \verbatim im.KernelMean5x5() -> kernel: imImage [in Lua 5] \endverbatim
00177  * \ingroup kernel */
00178 imImage* imKernelMean5x5(void);
00179 
00180 /** Creates a kernel with the following values:
00181  *
00182 \verbatim
00183   0 1 1 1 0 
00184   1 1 1 1 1 
00185   1 1 1 1 1 
00186   1 1 1 1 1 
00187   0 1 1 1 0 
00188 \endverbatim
00189  *
00190  * \verbatim im.KernelMean5x5() -> kernel: imImage [in Lua 5] \endverbatim
00191  * \ingroup kernel */
00192 imImage* imKernelCircularMean5x5(void);
00193 
00194 /** Creates a kernel with the following values:
00195  *
00196 \verbatim
00197   1 1 1 1 1 1 1 
00198   1 1 1 1 1 1 1 
00199   1 1 1 1 1 1 1 
00200   1 1 1 1 1 1 1 
00201   1 1 1 1 1 1 1 
00202   1 1 1 1 1 1 1 
00203   1 1 1 1 1 1 1 
00204 \endverbatim
00205  *
00206  * \verbatim im.KernelMean7x7() -> kernel: imImage [in Lua 5] \endverbatim
00207  * \ingroup kernel */
00208 imImage* imKernelMean7x7(void);
00209 
00210 /** Creates a kernel with the following values:
00211  *
00212 \verbatim
00213   0 0 1 1 1 0 0 
00214   0 1 1 1 1 1 0 
00215   1 1 1 1 1 1 1 
00216   1 1 1 1 1 1 1 
00217   1 1 1 1 1 1 1 
00218   0 1 1 1 1 1 0 
00219   0 0 1 1 1 0 0 
00220 \endverbatim
00221  *
00222  * \verbatim im.KernelCircularMean7x7() -> kernel: imImage [in Lua 5] \endverbatim
00223  * \ingroup kernel */
00224 imImage* imKernelCircularMean7x7(void);
00225 
00226 /** Creates a kernel with the following values:
00227  *
00228 \verbatim
00229   1 2 1 
00230   2 4 2 
00231   1 2 1 
00232 \endverbatim
00233  *
00234  * \verbatim im.KernelGaussian3x3() -> kernel: imImage [in Lua 5] \endverbatim
00235  * \ingroup kernel */
00236 imImage* imKernelGaussian3x3(void);
00237 
00238 /** Creates a kernel with the following values:
00239  *
00240 \verbatim
00241   1  4  6  4 1 
00242   4 16 24 16 4 
00243   6 24 36 24 6 
00244   4 16 24 16 4 
00245   1  4  6  4 1 
00246 \endverbatim
00247  *
00248  * \verbatim im.KernelGaussian5x5() -> kernel: imImage [in Lua 5] \endverbatim
00249  * \ingroup kernel */
00250 imImage* imKernelGaussian5x5(void);
00251 
00252 /** Creates a kernel with the following values:
00253  *
00254 \verbatim
00255   1 2 3 2 1 
00256   2 4 6 4 2 
00257   3 6 9 6 3 
00258   2 4 6 4 2 
00259   1 2 3 2 1 
00260 \endverbatim
00261  *
00262  * \verbatim im.KernelBarlett5x5() -> kernel: imImage [in Lua 5] \endverbatim
00263  * \ingroup kernel */
00264 imImage* imKernelBarlett5x5(void);
00265 
00266 /** Creates a kernel with the following values:
00267  *
00268 \verbatim
00269    0 -1 -1 -1  0 
00270   -1 -1  3 -1 -1 
00271   -1  3  4  3 -1 
00272   -1 -1  3 -1 -1 
00273    0 -1 -1 -1  0 
00274 \endverbatim
00275  *
00276  * \verbatim im.KernelTopHat5x5() -> kernel: imImage [in Lua 5] \endverbatim
00277  * \ingroup kernel */
00278 imImage* imKernelTopHat5x5(void);
00279 
00280 /** Creates a kernel with the following values:
00281  *
00282 \verbatim
00283    0  0 -1 -1 -1  0  0
00284    0 -1 -1 -1 -1 -1  0 
00285   -1 -1  3  3  3 -1 -1 
00286   -1 -1  3  4  3 -1 -1 
00287   -1 -1  3  3  3 -1 -1 
00288    0 -1 -1 -1 -1 -1  0 
00289    0  0 -1 -1 -1  0  0 
00290 \endverbatim
00291  *
00292  * \verbatim im.KernelTopHat7x7() -> kernel: imImage [in Lua 5] \endverbatim
00293  * \ingroup kernel */
00294 imImage* imKernelTopHat7x7(void);
00295 
00296 /** Creates a kernel with the following values:
00297  *
00298 \verbatim
00299    0 -1 -2 -1  0 
00300   -1 -4  0 -4 -1 
00301   -2  0 40  0 -2 
00302   -1 -4  0 -4 -1 
00303    0 -1 -2 -1  0 
00304 \endverbatim
00305  *
00306  * \verbatim im.KernelEnhance() -> kernel: imImage [in Lua 5] \endverbatim
00307  * \ingroup kernel */
00308 imImage* imKernelEnhance(void);
00309 
00310 #if defined(__cplusplus)
00311 }
00312 #endif
00313 
00314 #endif
00315