erode
Top  Previous  Next

erode ( integer Input, integer Output , integer Iterations, integer Probe )

Use this function to erode bright objects on an image and dilate dark ones. For multiphase images the function removes any foreground pixel having pixels of a different value in its neighborhood, thus shrinking the objects of interest. For grayscale and true color images the erosion finds the darkest pixel in the neighborhood and replaces the central pixel with that value. The shape and size of the neighborhood pattern is selected with the Probe parameter. The process could be repeated in a number of successive Iterations that correspond to the distance the boundaries of objects will shrink.

Parameters

Input  
 
An integer between 0 and 116 specifying the input image frame number. A value of 0 represents the DMA memory buffer of the video device. Values in the range of 100-116 correspond to hidden frames.  
 
Output  
 
An integer between 1 and 116 specifying the output image frame number. Values in the range of 100-116 correspond to hidden frames.  
 
Iterations  
 
A positive integer specifying how many times the operation will be applied.  
 
Probe  
 
An enumerated integer that describes the shape and size of the kernel used in the operation. The value is determined as a combination of four basic shapes constructed of 3 pixels:  
 
PR_VBAR=1 – vertical bar  
PR_BKSLASH=2 – diagonal bar (top left – bottom right)  
PR_HBAR=4 – horizontal bar  
PR_FWSLASH=8 –diagonal bar (bottom left – top right)  
 
The following frequently used shapes represent combinations of the basic shapes:  
 
PR_CROSS=5 – cross 3x3  
PR_DCROSS=10 – diagonal cross 3x3  
PR_SQUARE=15 – square 3x3  
 
You can also assign one kernel of size 5x5:  
 
PR_CIRCLE=16 – circle 5x5  
 
Error flags

ERR_OK  
 
The flag set if successful.  
 
ERR_FAILED  
 
The flag set if failed.  

Example

This set of statements binarizes a sample image and applies 3 cycles of erosion with the circular probe:  
 
setCurDir ("samples")  
loadIm (1,"sample4.iwd")  
threshold(1,1,M_PRESET,0.,113.,TRUE,FALSE)  
erode (1,2,3,PR_CIRCLE)