![]() |
Functions | |
int | imProcessGrayMorphConvolve (const imImage *src_image, imImage *dst_image, const imImage *kernel, int ismax) |
int | imProcessGrayMorphErode (const imImage *src_image, imImage *dst_image, int kernel_size) |
int | imProcessGrayMorphDilate (const imImage *src_image, imImage *dst_image, int kernel_size) |
int | imProcessGrayMorphOpen (const imImage *src_image, imImage *dst_image, int kernel_size) |
int | imProcessGrayMorphClose (const imImage *src_image, imImage *dst_image, int kernel_size) |
int | imProcessGrayMorphTopHat (const imImage *src_image, imImage *dst_image, int kernel_size) |
int | imProcessGrayMorphWell (const imImage *src_image, imImage *dst_image, int kernel_size) |
int | imProcessGrayMorphGradient (const imImage *src_image, imImage *dst_image, int kernel_size) |
int imProcessGrayMorphConvolve | ( | const imImage * | src_image, | |
imImage * | dst_image, | |||
const imImage * | kernel, | |||
int | ismax | |||
) |
Base gray morphology convolution.
Supports all data types except IM_CFLOAT. Can be applied on color images.
Kernel is always IM_INT. Use kernel size odd for better results.
Use -1 for don't care positions in kernel. Kernel values are added to image values, then
you can use the maximum or the minimum within the kernel area.
No border extensions are used. All the gray morphology operations use this function.
If the kernel image attribute "Description" exists it is used by the counter.
im.ProcessGrayMorphConvolve(src_image: imImage, dst_image: imImage, kernel: imImage, ismax: boolean) -> counter: boolean [in Lua 5]
im.ProcessGrayMorphConvolveNew(image: imImage, kernel: imImage, ismax: boolean) -> counter: boolean, new_image: imImage [in Lua 5]
Gray morphology convolution with a kernel full of "0"s and use minimum value.
im.ProcessGrayMorphErode(src_image: imImage, dst_image: imImage, kernel_size: number) -> counter: boolean [in Lua 5]
im.ProcessGrayMorphErodeNew(image: imImage, kernel_size: number) -> counter: boolean, new_image: imImage [in Lua 5]
Gray morphology convolution with a kernel full of "0"s and use maximum value.
im.ProcessGrayMorphDilate(src_image: imImage, dst_image: imImage, kernel_size: number) -> counter: boolean [in Lua 5]
im.ProcessGrayMorphDilateNew(image: imImage, kernel_size: number) -> counter: boolean, new_image: imImage [in Lua 5]
Erode+Dilate.
im.ProcessGrayMorphOpen(src_image: imImage, dst_image: imImage, kernel_size: number) -> counter: boolean [in Lua 5]
im.ProcessGrayMorphOpenNew(image: imImage, kernel_size: number) -> counter: boolean, new_image: imImage [in Lua 5]
Dilate+Erode.
im.ProcessGrayMorphClose(src_image: imImage, dst_image: imImage, kernel_size: number) -> counter: boolean [in Lua 5]
im.ProcessGrayMorphCloseNew(image: imImage, kernel_size: number) -> counter: boolean, new_image: imImage [in Lua 5]
Open+Difference.
im.ProcessGrayMorphTopHat(src_image: imImage, dst_image: imImage, kernel_size: number) -> counter: boolean [in Lua 5]
im.ProcessGrayMorphTopHatNew(image: imImage, kernel_size: number) -> counter: boolean, new_image: imImage [in Lua 5]
Close+Difference.
im.ProcessGrayMorphWell(src_image: imImage, dst_image: imImage, kernel_size: number) -> counter: boolean [in Lua 5]
im.ProcessGrayMorphWellNew(image: imImage, kernel_size: number) -> counter: boolean, new_image: imImage [in Lua 5]
Difference(Erode, Dilate).
im.ProcessGrayMorphGradient(src_image: imImage, dst_image: imImage, kernel_size: number) -> counter: boolean [in Lua 5]
im.ProcessGrayMorphGradientNew(image: imImage, kernel_size: number) -> counter: boolean, new_image: imImage [in Lua 5]