select_region_pointselect_region_pointSelectRegionPointSelectRegionPointselect_region_point — Auswählen aller Regionen, die einen übergebenen Punkt enthalten.
Es kann vorkommen, dass mehr als eine Region den Punkt enthält, falls
sich die Regionen überlappen. In diesem Fall werden all diese Regionen
ausgegeben.
Falls keine Region den angegebenen Punkt enthält, wird das
leere Tupel (=keine Region) ausgegeben.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
read_image(&Image,"fabrik");
regiongrowing(Image,&Seg,3,3,5.0,0);
do {
printf("Select the region with the mouse (End right button \n");
get_mbutton(WindowHandle,&Row,&Column,&Button);
select_region_point(Seg,&Single,Row,Column);
clear(Single);
} while(Button != 4);
Beispiel (C++)
#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;
int main ()
{
HImage img ("fabrik");
HWindow w;
HRegionArray ireg, reg;
DPoint2D rc;
int Button;
reg = img.Regiongrowing (3, 3, 5, 100);
reg.Display (w);
w.SetColor ("red");
w.SetDraw ("margin");
cout << "Select any region with left mouse button (right button ends)"
<< endl;
do
{
rc = w.GetMbutton (&Button);
cout << "[x, y] = " << (Hlong) rc.X() << ", " << (long) rc.Y() << endl;
ireg = reg.SelectRegionPoint ((Hlong) rc.Y(), (long) rc.X());
img.Display (w);
ireg.Display (w);
} while (Button != 4);
return(0);
}