IM: Morphology Operations for Gray Images

From 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_COMPLEX. Can be applied on color images.
Kernel is always IM_INT. Use kernel size odd for better results.
You can use the maximum value or else the minimum value.
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.

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.

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.

int imProcessGrayMorphOpen (  const imImage *  src_image,
imImage *  dst_image,
int  kernel_size
) 
 

Erode+Dilate.

int imProcessGrayMorphClose (  const imImage *  src_image,
imImage *  dst_image,
int  kernel_size
) 
 

Dilate+Erode.

int imProcessGrayMorphTopHat (  const imImage *  src_image,
imImage *  dst_image,
int  kernel_size
) 
 

Open+Difference.

int imProcessGrayMorphWell (  const imImage *  src_image,
imImage *  dst_image,
int  kernel_size
) 
 

Close+Difference.

int imProcessGrayMorphGradient (  const imImage *  src_image,
imImage *  dst_image,
int  kernel_size
) 
 

Difference(Erode, Dilate).