[mmseunion] [Up] [mmcero] Dilations And Erosions

mmcdil
Dilate an image conditionally.

Synopsis

y = mmcdil ( f , g , b = NullStrel, n = 1 )

Input

f Image Gray-scale (uint8 or uint16) or binary image

g Image Gray-scale (uint8 or uint16) or binary image

Conditioning image.

b Structuring Element

Default: NullStrel (3x3 elementary cross)

n Double Non-negative integer.

(number of iterations).

Default: 1 (1)

Output

y Image

Description

mmcdil creates the image y by dilating the image f by the structuring element b conditionally to the image g. This operator may be applied recursively n times.

Examples

Numerical examples:
f = mmbinary(uint8([[1, 0, 0, 0, 0, 0, 0],\
    [0, 0, 0, 0, 0, 0, 0],\
    [0, 0, 0, 0, 1, 0, 0,]]))
g = mmbinary(uint8([[1, 1, 1, 0, 0, 1, 1],\
    [1, 0, 1, 1, 1, 0, 0],\
    [0, 0, 0, 0, 1, 0, 0]]));
y1=mmcdil(f,g,mmsecross())
y2=mmcdil(f,g,mmsecross(),3)
        
f = uint8([\
    [   0,    0,   0,   80,   0,   0],\
    [   0,    0,   0,    0,   0,   0],\
    [  10,   10,   0,  255,   0,   0]])
g = uint8([\
    [   0,    1,   2,   50,   4,   5],\
    [   2,    3,   4,    0,   0,   0],\
    [  12,  255,  14,   15,  16,  17]])
y1=mmcdil(f,g,mmsecross())
y2=mmcdil(f,g,mmsecross(),3)
        
Binary image:
g=mmreadgray('pcb1bin.tif')
f=mmframe(g,5,5)
y5=mmcdil(f,g,mmsecross(),5)
y25=mmcdil(f,g,mmsecross(),25)
mmshow(g)
mmshow(g,f)
mmshow(g,y5)
mmshow(g,y25)
        
g g,f
g,y5 g,y25
Gray-scale image:
g=mmneg(mmreadgray('n2538.tif'))
f=mmintersec(g,0)
Warning: upcasting image from scalar to uint8
f=mmdraw(f,'LINE:40,30,60,30:END')
y1=mmcdil(f,g,mmsebox())
y30=mmcdil(f,g,mmsebox(),30)
mmshow(g)
mmshow(f)
mmshow(y1)
mmshow(y30)
        
g f y1 y30

Equation

See also

mmfreedom Control automatic data type conversion.
mmdil Dilate an image by a structuring element.
mmsebox Create a box structuring element.
mmsecross Diamond structuring element and elementary 3x3 cross.
mmimg2se Create a structuring element from a pair of images.
mminfrec Inf-reconstruction.
[mmseunion] [Up] [mmcero]