[mmthick] [Up] [mmwatershed] Thinning And Thickening

mmthin
Image transformation by thinning.

Synopsis

function y = mmthin ( f , Iab , n , theta , DIRECTION )

Input

f Image Binary image
Iab Interval

Default: Interval for homotopic thinning

n Double Non-negative integer.

Default: Infinite (denoted by -1)

Number of iterations.

theta Double

Default: 45

Degrees of rotation: 45, 90, or 180.

DIRECTION String

Default: 'CLOCKWISE'

Direction of rotation: 'CLOCKWISE' or ' ANTI-CLOCKWISE'

Output

y Image Binary image

Description

mmthin creates the binary image y by performing a thinning of the binary image f. The number of iterations of the thinning is n and each iteration is performed by subtracting the points that are detect in f by hit-miss operators characterized by rotations of theta of the interval Iab. When n is infinite and the interval is mmhomothin (default conditions), mmthin gives the skeleton by thinning.

Examples

f=mmreadgray('scissors.tif');
f1=mmthin(f);
mmshow(f,f1); % skeleton
f2=mmthin(f1,mmendpoints,15); % prunning 15 pixels
mmshow(f,f2); % prunned skeleton
f,f1 f,f2

Equation

Algorithm

function y = mmthin_equ( f, Iab, n, theta, DIRECTION )
  y = f;
  for i=1:n
    for alpha=0:theta:360-theta
      Iab = mminterot(Iab, alpha, DIRECTION);
      y = mmsubm(y,mmsupgen(y,Iab));
    end;
  end; 

See also

mmfreedom Control automatic data type conversion.
mmcthin Image transformation by conditional thinning.
mmthick Image transformation by thickening.
mmendpoints Interval to detect end-points.
mmhomothin Interval for homotopic thinning.
mmse2hmt Create a Hit-or-Miss Template (or interval) from a pair of structuring elements.
[mmthick] [Up] [mmwatershed]