histo_to_thresh ( : : Histogramm, Sigma : MinThresh, MaxThresh )

Determine gray value thresholds from a histogram.

histo_to_thresh determines gray value thresholds from a histogram for a segmentation of an image using threshold. The thresholds returned are 0, 255, and all minima extracted from the histogram. Before the thresholds are determined the histogram is smoothed with a Gaussian.


Parameters

Histogramm (input_control)
histogram-array -> integer / real
Gray value histogram.

Sigma (input_control)
number -> real
Sigma for the Gaussian smoothing of the histogram.
Default value: 2.0
Suggested values: 0.5, 1.0, 2.0, 3.0, 4.0, 5.0
Typical range of values: 0.1 <= Sigma <= 30.0 (lin)
Minimum increment: 0.01
Recommended increment: 0.2

MinThresh (output_control)
integer-array -> integer
Minimum thresholds.

MaxThresh (output_control)
integer-array -> integer
Maximum thresholds.


Example
#include  <iostream.h>
#include  "HalconCpp.h"

int main (int argc, char *argv[])
{
  if (argc != 2)
  {
    cout << "Usage : " << argv[0] << " <name of image>" << endl;
    return (-1);
  }

  HImage   image (argv[1]),
           Smoothed;
  HWindow  win;

  Tuple MinThres, MaxThres,
        HistoAbs, HistoRel,
        size   = 10,
        iter   = 3,
        thresh = 0.0;

  HRegionArray reg = image.GetDomain ();

  HistoAbs = reg.GrayHisto (image, &HistoRel);
  Smoothed = HistoAbs.FunctionSmoothMean (size, iter);
  MinThres = Smoothed.HistoToThresh (thresh, &MaxThres);

  HRegionArray seg = image.Threshold (MinThres, MaxThres);
  HRegionArray con = seg.Connection ();

  /* Alternativkonstrukt fuer Threshold() in
     Aufrufkombination mit Connection()
     -------------------------------------------------------
     HRegionArray con = ((image >= MinThres) &
                         (image <= MaxThres)).Connection ();
     ------------------------------------------------------- */

  con.Display (win);
  win.Click ();

  return (0);
}

Parallelization Information

histo_to_thresh is reentrant and processed without parallelization.


Possible Predecessors

gray_histo


Possible Successors

threshold


Alternatives

auto_threshold


Module

Region processing



Copyright © 1996-2005 MVTec Software GmbH