HysteresisThresholding

This module implements iterative hysteresis thresholding of image. There are two threshold constants T1 and T2 that determines how to extract edge elements from an edge image. If an edge has higher intensity than T2 it is included in the output image. If an edge has higher intensity than T2 it will also be included in the output image, but only if there is an adjacent edge element that is already included. The parameter range determines how close the adjacent edge > T2 must be. The algorithm is applied iteratively to the image the number of times specified by the parameter iterations. This will iteratively fill out edges below T1. The maximum lenght of an extracted edge element that it is initially below T2 and above T1 is thus range*iterations. Each found edge element is represented by the value 1.0 in the output.

Example XML definition

A simple example

  <module
      class = "HysteresisThresholding"
      name = "HysteresisThresholding"
      T1 = "50"
      T2 = "200"
      range = "1"
      iterations = "10"
  />

Parameters

NameDescriptionTypeDefault
classThe class name for the module; must be "HysteresisThresholding".string
nameThe name of this instance of the module.string
rangeHow far away can an edge element beint1
iterationsHow many times should the algorithm be iteratedint1
T1Lower thresholdint0.3
T2Higher thresholdint0.6

Module Connections

Inputs

NameDescription
INPUTThe input

Outputs

NameDescription
OUTPUTThe output

Bugs

This implementation is very slow and does not give very good results.

Author

Christian Balkenius
christian.balkenius@lucs.lu.se
Lund University Cognitive Science

Files

HysteresisThresholding.h
HysteresisThresholding.cc
HysteresisThresholding.ikc

blog comments powered by Disqus