iup-stack/im/include/im_kernel.h

316 lines
6.2 KiB
C
Raw Permalink Normal View History

2023-02-20 16:44:45 +00:00
/** \file
* \brief Kernel Generators
* Creates several known kernels
*
* See Copyright Notice in im_lib.h
*/
#ifndef __IM_KERNEL_H
#define __IM_KERNEL_H
#if defined(__cplusplus)
extern "C" {
#endif
/** \defgroup kernel Kernel Generators
* \par
* Creates several known kernels
* \par
* See \ref im_kernel.h
* \ingroup convolve */
/** Creates a kernel with the following values:
*
\verbatim
1 2 1
0 0 0
-1 -2 -1
\endverbatim
*
* \verbatim im.KernelSobel() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelSobel(void);
/** Creates a kernel with the following values:
*
\verbatim
1 1 1
0 0 0
-1 -1 -1
\endverbatim
*
* \verbatim im.KernelPrewitt() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelPrewitt(void);
/** Creates a kernel with the following values:
*
\verbatim
5 5 5
-3 0 -3
-3 -3 -3
\endverbatim
*
* \verbatim im.KernelKirsh() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelKirsh(void);
/** Creates a kernel with the following values:
*
\verbatim
0 -1 0
-1 4 -1
0 -1 0
\endverbatim
*
* \verbatim im.KernelLaplacian4() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelLaplacian4(void);
/** Creates a kernel with the following values:
*
\verbatim
-1 -1 -1
-1 8 -1
-1 -1 -1
\endverbatim
*
* \verbatim im.KernelLaplacian8() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelLaplacian8(void);
/** Creates a kernel with the following values:
*
\verbatim
0 -1 -1 -1 0
-1 0 1 0 -1
-1 1 8 1 -1
-1 0 1 0 -1
0 -1 -1 -1 0
\endverbatim
*
* \verbatim im.KernelLaplacian5x5() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelLaplacian5x5(void);
/** Creates a kernel with the following values:
*
\verbatim
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 48 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
\endverbatim
*
* \verbatim im.KernelLaplacian7x7() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelLaplacian7x7(void);
/** Creates a kernel with the following values:
*
\verbatim
0 -1 0
0 1 0
0 0 0
\endverbatim
*
* \verbatim im.KernelGradian3x3() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelGradian3x3(void);
/** Creates a kernel with the following values:
*
\verbatim
0 -1 -1 0 1 1 0
-1 -2 -2 0 2 2 1
-1 -2 -3 0 3 2 1
-1 -2 -3 0 3 2 1
-1 -2 -3 0 3 2 1
-1 -2 -2 0 2 2 1
0 -1 -1 0 1 1 0
\endverbatim
*
* \verbatim im.KernelGradian7x7() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelGradian7x7(void);
/** Creates a kernel with the following values:
*
\verbatim
-1 0 0
0 0 0
0 0 1
\endverbatim
*
* \verbatim im.KernelSculpt() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelSculpt(void);
/** Creates a kernel with the following values:
*
\verbatim
1 1 1
1 1 1
1 1 1
\endverbatim
*
* \verbatim im.KernelMean3x3() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelMean3x3(void);
/** Creates a kernel with the following values:
*
\verbatim
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
\endverbatim
*
* \verbatim im.KernelMean5x5() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelMean5x5(void);
/** Creates a kernel with the following values:
*
\verbatim
0 1 1 1 0
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
0 1 1 1 0
\endverbatim
*
* \verbatim im.KernelMean5x5() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelCircularMean5x5(void);
/** Creates a kernel with the following values:
*
\verbatim
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
\endverbatim
*
* \verbatim im.KernelMean7x7() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelMean7x7(void);
/** Creates a kernel with the following values:
*
\verbatim
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
0 1 1 1 1 1 0
0 0 1 1 1 0 0
\endverbatim
*
* \verbatim im.KernelCircularMean7x7() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelCircularMean7x7(void);
/** Creates a kernel with the following values:
*
\verbatim
1 2 1
2 4 2
1 2 1
\endverbatim
*
* \verbatim im.KernelGaussian3x3() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelGaussian3x3(void);
/** Creates a kernel with the following values:
*
\verbatim
1 4 6 4 1
4 16 24 16 4
6 24 36 24 6
4 16 24 16 4
1 4 6 4 1
\endverbatim
*
* \verbatim im.KernelGaussian5x5() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelGaussian5x5(void);
/** Creates a kernel with the following values:
*
\verbatim
1 2 3 2 1
2 4 6 4 2
3 6 9 6 3
2 4 6 4 2
1 2 3 2 1
\endverbatim
*
* \verbatim im.KernelBarlett5x5() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelBarlett5x5(void);
/** Creates a kernel with the following values:
*
\verbatim
0 -1 -1 -1 0
-1 -1 3 -1 -1
-1 3 4 3 -1
-1 -1 3 -1 -1
0 -1 -1 -1 0
\endverbatim
*
* \verbatim im.KernelTopHat5x5() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelTopHat5x5(void);
/** Creates a kernel with the following values:
*
\verbatim
0 0 -1 -1 -1 0 0
0 -1 -1 -1 -1 -1 0
-1 -1 3 3 3 -1 -1
-1 -1 3 4 3 -1 -1
-1 -1 3 3 3 -1 -1
0 -1 -1 -1 -1 -1 0
0 0 -1 -1 -1 0 0
\endverbatim
*
* \verbatim im.KernelTopHat7x7() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelTopHat7x7(void);
/** Creates a kernel with the following values:
*
\verbatim
0 -1 -2 -1 0
-1 -4 0 -4 -1
-2 0 40 0 -2
-1 -4 0 -4 -1
0 -1 -2 -1 0
\endverbatim
*
* \verbatim im.KernelEnhance() -> kernel: imImage [in Lua 5] \endverbatim
* \ingroup kernel */
imImage* imKernelEnhance(void);
#if defined(__cplusplus)
}
#endif
#endif