ClassesClassesClassesClasses | | | | Operators

local_minlocal_minLocalMinlocal_minLocalMinLocalMin (Operator)

Name

local_minlocal_minLocalMinlocal_minLocalMinLocalMin — Detect all local minima in an image.

Signature

local_min(Image : LocalMinima : : )

Herror local_min(const Hobject Image, Hobject* LocalMinima)

Herror T_local_min(const Hobject Image, Hobject* LocalMinima)

Herror local_min(Hobject Image, Hobject* LocalMinima)

HRegion HImage::LocalMin() const

HRegionArray HImageArray::LocalMin() const

void LocalMin(const HObject& Image, HObject* LocalMinima)

HRegion HImage::LocalMin() const

void HOperatorSetX.LocalMin(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*LocalMinima)

IHRegionX* HImageX.LocalMin()

static void HOperatorSet.LocalMin(HObject image, out HObject localMinima)

HRegion HImage.LocalMin()

Description

local_minlocal_minLocalMinlocal_minLocalMinLocalMin extracts all points from ImageImageImageImageImageimage having a gray value smaller than the gray value of all its neighbors and returns them in LocalMinimaLocalMinimaLocalMinimaLocalMinimaLocalMinimalocalMinima. The neighborhood used can be set by set_system(::'neighborhood',<4/8>)set_system("neighborhood",<4/8>)SetSystem("neighborhood",<4/8>)set_system("neighborhood",<4/8>)SetSystem("neighborhood",<4/8>)SetSystem("neighborhood",<4/8>).

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

Image to be processed.

LocalMinimaLocalMinimaLocalMinimaLocalMinimaLocalMinimalocalMinima (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Extracted local minima as regions.

Number of elements: LocalMinima == Image

Example (C++ (HALCON 5.0-10.0))

#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;

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

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

  image.Display (win);

  HImage       cres = image.CornerResponse (5, 0.04);
  HRegionArray mins = cres.LocalMin ();

  win.SetColored (12);
  mins.Display (win);
  win.Click ();

  return (0);
}

Example (C)

read_image(&Image,"fabrik");
corner_responce(Image,&CornerResp,5,0.04);
local_min(CornerResp,&Minima);
set_colored(WindowHandle,12);
disp_region(Minima,WindowHandle);
T_get_region_points(Minima,&Row,&Col);

Example (C++ (HALCON 5.0-10.0))

#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;

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

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

  image.Display (win);

  HImage       cres = image.CornerResponse (5, 0.04);
  HRegionArray mins = cres.LocalMin ();

  win.SetColored (12);
  mins.Display (win);
  win.Click ();

  return (0);
}

Example (C++ (HALCON 5.0-10.0))

#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;

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

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

  image.Display (win);

  HImage       cres = image.CornerResponse (5, 0.04);
  HRegionArray mins = cres.LocalMin ();

  win.SetColored (12);
  mins.Display (win);
  win.Click ();

  return (0);
}

Example (C++ (HALCON 5.0-10.0))

#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;

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

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

  image.Display (win);

  HImage       cres = image.CornerResponse (5, 0.04);
  HRegionArray mins = cres.LocalMin ();

  win.SetColored (12);
  mins.Display (win);
  win.Click ();

  return (0);
}

Example (C++ (HALCON 5.0-10.0))

#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;

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

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

  image.Display (win);

  HImage       cres = image.CornerResponse (5, 0.04);
  HRegionArray mins = cres.LocalMin ();

  win.SetColored (12);
  mins.Display (win);
  win.Click ();

  return (0);
}

Possible Predecessors

binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter, smooth_imagesmooth_imageSmoothImagesmooth_imageSmoothImageSmoothImage

Possible Successors

get_region_pointsget_region_pointsGetRegionPointsget_region_pointsGetRegionPointsGetRegionPoints, connectionconnectionConnectionconnectionConnectionConnection

Alternatives

gray_skeletongray_skeletonGraySkeletongray_skeletonGraySkeletonGraySkeleton, lowlandslowlandsLowlandslowlandsLowlandsLowlands, lowlands_centerlowlands_centerLowlandsCenterlowlands_centerLowlandsCenterLowlandsCenter

See also

monotonymonotonyMonotonymonotonyMonotonyMonotony, topographic_sketchtopographic_sketchTopographicSketchtopographic_sketchTopographicSketchTopographicSketch, corner_responsecorner_responseCornerResponsecorner_responseCornerResponseCornerResponse, texture_lawstexture_lawsTextureLawstexture_lawsTextureLawsTextureLaws

Module

Foundation


ClassesClassesClassesClasses | | | | Operators