| [mmsedisk] [Up] [mmserot] | Structuring Elements |
Implemented in Python.
mmseline creates a structuring element
B that is a line segment that has an extremity at the origin, length
l and angle
theta (0 degrees is east direction, clockwise). If
l=0, it generates the origin.
>>> mmseshow(mmseline())
array([0, 0, 1, 1, 1],'1')
>>> b1 = mmseline(4,45)
>>> mmseshow(b1)
array([[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, 1]],'1')
>>> b2 = mmseline(4,-180)
>>> mmseshow(b2)
array([1, 1, 1, 1, 0, 0, 0],'1')
>>> a=mmtext('Line')
>>> b=mmdil(a,b1)
>>> mmshow(a)
>>> mmshow(b)
| a | b |
def mmseline(l=3, theta=0):
from Numeric import pi, tan, cos, sin, sign, floor, arange, transpose, array, ones
theta = pi*theta/180
if abs(tan(theta)) <= 1:
s = sign(cos(theta))
x0 = arange(0, l * cos(theta)-(s*0.5),s)
x1 = floor(x0 * tan(theta) + 0.5)
else:
s = sign(sin(theta))
x1 = arange(0, l * sin(theta) - (s*0.5),s)
x0 = floor(x1 / tan(theta) + 0.5)
x = int32(transpose(array([x1,x0])))
B = mmset2mat((x,mmbinary(ones((x.shape[1],1)))))
return B
| mmfreedom | Control automatic data type conversion. |
| mmsedisk | Create a disk or a semi-sphere 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. |
| mmdil | Dilate an image by a structuring element. |
| mmseshow | Display a structuring element as an image. |
| [mmsedisk] [Up] [mmserot] | |
| Copyright (c) 2003, Roberto A. Lotufo, UNICAMP-University of Campinas; Rubens C. Machado, CenPRA-Renato Archer Research Center. |