lowlands_centerlowlands_centerLowlandsCenterLowlandsCenterlowlands_center (Operator)

Name

lowlands_centerlowlands_centerLowlandsCenterLowlandsCenterlowlands_center — Detect the centers of all gray value lowlands.

Signature

lowlands_center(Image : Lowlands : : )

Herror lowlands_center(const Hobject Image, Hobject* Lowlands)

Herror T_lowlands_center(const Hobject Image, Hobject* Lowlands)

void LowlandsCenter(const HObject& Image, HObject* Lowlands)

HRegion HImage::LowlandsCenter() const

static void HOperatorSet.LowlandsCenter(HObject image, out HObject lowlands)

HRegion HImage.LowlandsCenter()

def lowlands_center(image: HObject) -> HObject

Description

lowlands_centerlowlands_centerLowlandsCenterLowlandsCenterLowlandsCenterlowlands_center extracts all points from ImageImageImageImageimageimage with a gray value less or equal to the gray value of its neighbors (8-neighborhood) and returns them in LowlandsLowlandsLowlandsLowlandslowlandslowlands. If more than one of these points are connected (lowland), their center of gravity is returned. Each lowland is returned as a separate region.

Execution Information

Parameters

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

Image to be processed.

LowlandsLowlandsLowlandsLowlandslowlandslowlands (output_object)  region-array objectHRegionHObjectHRegionHobject *

Centers of gravity of the extracted lowlands as regions (one region for each lowland).

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.LowlandsCenter ();

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

  return (0);
}

Example (C)

read_image(&Image,"fabrik");
corner_responce(Image,&CornerResp,5,0.04);
lowlands_center(CornerResp,&Minima);
set_colored(WindowHandle,12);
disp_region(Minima,WindowHandle);
T_area_center(Minima,NULL,&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.LowlandsCenter ();

  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.LowlandsCenter ();

  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.LowlandsCenter ();

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

  return (0);
}

Possible Predecessors

binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImagesmooth_image

Possible Successors

area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center, get_region_pointsget_region_pointsGetRegionPointsGetRegionPointsGetRegionPointsget_region_points, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape

Alternatives

lowlandslowlandsLowlandsLowlandsLowlandslowlands, gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeletongray_skeleton, local_minlocal_minLocalMinLocalMinLocalMinlocal_min

See also

monotonymonotonyMonotonyMonotonyMonotonymonotony, topographic_sketchtopographic_sketchTopographicSketchTopographicSketchTopographicSketchtopographic_sketch, corner_responsecorner_responseCornerResponseCornerResponseCornerResponsecorner_response, texture_lawstexture_lawsTextureLawsTextureLawsTextureLawstexture_laws

Module

Foundation