Detect all local maxima in an image.
local_max extracts all points from Image having a gray value larger than the gray value of all its neighbors and returns them in LocalMaxima. The neighborhood used can be set by set_system(::'neighborhood',<4/8>).
|
Image (input_object) |
image(-array) -> object : byte / direction / cyclic / int1 / int2 / uint2 / int4 / real |
| Input image. | |
|
LocalMaxima (output_object) |
region(-array) -> object |
| Extracted local maxima as a region. | |
| Number of elements: LocalMaxima == Image | |
#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#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]);
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);
}
local_max is reentrant and automatically parallelized (on tuple level).
nonmax_suppression_amp, plateaus, plateaus_center
monotony, topographic_sketch, corner_response, texture_laws
Foundation