local_maxlocal_maxLocalMaxLocalMaxlocal_max (Operator)

Name

local_maxlocal_maxLocalMaxLocalMaxlocal_max — Detect all local maxima in an image.

Signature

local_max(Image : LocalMaxima : : )

Herror local_max(const Hobject Image, Hobject* LocalMaxima)

Herror T_local_max(const Hobject Image, Hobject* LocalMaxima)

void LocalMax(const HObject& Image, HObject* LocalMaxima)

HRegion HImage::LocalMax() const

static void HOperatorSet.LocalMax(HObject image, out HObject localMaxima)

HRegion HImage.LocalMax()

def local_max(image: HObject) -> HObject

Description

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

Execution Information

Parameters

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

Input image.

LocalMaximaLocalMaximaLocalMaximalocalMaximalocal_maxima (output_object)  region(-array) objectHRegionHObjectHObjectHobject *

Extracted local maxima as a region.

Number of elements: LocalMaxima == Image

Example (C++)

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

int main (int argc, char *argv[])
{
  using namespace Halcon;
  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 maxi = cres.LocalMax ();

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

  return (0);
}

Example (C)

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

Example (C++)

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

int main (int argc, char *argv[])
{
  using namespace Halcon;
  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 maxi = cres.LocalMax ();

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

  return (0);
}

Example (C++)

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

int main (int argc, char *argv[])
{
  using namespace Halcon;
  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 maxi = cres.LocalMax ();

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

  return (0);
}

Possible Predecessors

binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFiltergauss_filter, smooth_imagesmooth_imageSmoothImageSmoothImagesmooth_image

Possible Successors

get_region_pointsget_region_pointsGetRegionPointsGetRegionPointsget_region_points, connectionconnectionConnectionConnectionconnection

Alternatives

nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpnonmax_suppression_amp, plateausplateausPlateausPlateausplateaus, plateaus_centerplateaus_centerPlateausCenterPlateausCenterplateaus_center

See also

monotonymonotonyMonotonyMonotonymonotony, topographic_sketchtopographic_sketchTopographicSketchTopographicSketchtopographic_sketch, corner_responsecorner_responseCornerResponseCornerResponsecorner_response, texture_lawstexture_lawsTextureLawsTextureLawstexture_laws

Module

Foundation