IM: Morphology Operations for Gray Images

IM - An Imaging Tool

Morphology Operations for Gray Images
[Image Processing]


Detailed Description

See im_process_loc.h


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)

Function Documentation

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] 

int imProcessGrayMorphErode const imImage src_image,
imImage dst_image,
int  kernel_size
 

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] 

int imProcessGrayMorphDilate const imImage src_image,
imImage dst_image,
int  kernel_size
 

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] 

int imProcessGrayMorphOpen const imImage src_image,
imImage dst_image,
int  kernel_size
 

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] 

int imProcessGrayMorphClose const imImage src_image,
imImage dst_image,
int  kernel_size
 

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] 

int imProcessGrayMorphTopHat const imImage src_image,
imImage dst_image,
int  kernel_size
 

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] 

int imProcessGrayMorphWell const imImage src_image,
imImage dst_image,
int  kernel_size
 

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] 

int imProcessGrayMorphGradient const imImage src_image,
imImage dst_image,
int  kernel_size
 

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]