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