IM: im_kernel.h Source File
From 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