| [mmseunion] [Up] [mmcero] | Dilations And Erosions |
Implemented in Python.
| 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:
|
| n | Double Non-negative integer.
(number of iterations). Default:
|
| y | Image |
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.
>>> 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)
>>> 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 |
def mmcdil(f, g, b=None, n=1):
if b is None: b = mmsecross()
y = mmintersec(f,g)
for i in range(n):
aux = y
y = mmintersec(mmdil(y,b),g)
if mmisequal(y,aux): break
return y
| [mmseunion] [Up] [mmcero] | |
| Copyright (c) 2003, Roberto A. Lotufo, UNICAMP-University of Campinas; Rubens C. Machado, CenPRA-Renato Archer Research Center. |