select_region_pointselect_region_pointSelectRegionPointSelectRegionPoint (Operator)

Name

select_region_pointselect_region_pointSelectRegionPointSelectRegionPoint — Auswählen aller Regionen, die einen übergebenen Punkt enthalten.

Signatur

select_region_point(Regions : DestRegions : Row, Column : )

Herror select_region_point(const Hobject Regions, Hobject* DestRegions, const Hlong Row, const Hlong Column)

Herror T_select_region_point(const Hobject Regions, Hobject* DestRegions, const Htuple Row, const Htuple Column)

void SelectRegionPoint(const HObject& Regions, HObject* DestRegions, const HTuple& Row, const HTuple& Column)

HRegion HRegion::SelectRegionPoint(Hlong Row, Hlong Column) const

static void HOperatorSet.SelectRegionPoint(HObject regions, out HObject destRegions, HTuple row, HTuple column)

HRegion HRegion.SelectRegionPoint(int row, int column)

Beschreibung

select_region_pointselect_region_pointSelectRegionPointSelectRegionPointSelectRegionPoint selektiert alle Regionen aus RegionsRegionsRegionsRegionsregions, die den Testpunkt (RowRowRowRowrow,ColumnColumnColumnColumncolumn) enthalten, d.h.:

Achtung

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

Parameter

RegionsRegionsRegionsRegionsregions (input_object)  region-array objectHRegionHRegionHobject

Zu untersuchende Regionen.

DestRegionsDestRegionsDestRegionsDestRegionsdestRegions (output_object)  region-array objectHRegionHRegionHobject *

Alle Regionen, die den Testpunkt enthalten.

RowRowRowRowrow (input_control)  point.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Zeilenindex des Testpunktes.

Defaultwert: 100

ColumnColumnColumnColumncolumn (input_control)  point.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Spaltenindex des Testpunktes.

Defaultwert: 100

Beispiel (HDevelop)

read_image(Image,'fabrik')
regiongrowing(Image,Seg,3,3,5,0)
dev_set_color('red')
dev_set_draw('margin')
Button := 1
while (Button == 1)
  get_mbutton(WindowHandle,Row,Column,Button)
  select_region_point(Seg,Single,Row,Column)
  dev_display(Image)
  dev_display(Single)
endwhile

Beispiel (C)

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 (HDevelop)

read_image(Image,'fabrik')
regiongrowing(Image,Seg,3,3,5,0)
dev_set_color('red')
dev_set_draw('margin')
Button := 1
while (Button == 1)
  get_mbutton(WindowHandle,Row,Column,Button)
  select_region_point(Seg,Single,Row,Column)
  dev_display(Image)
  dev_display(Single)
endwhile

Beispiel (HDevelop)

read_image(Image,'fabrik')
regiongrowing(Image,Seg,3,3,5,0)
dev_set_color('red')
dev_set_draw('margin')
Button := 1
while (Button == 1)
  get_mbutton(WindowHandle,Row,Column,Button)
  select_region_point(Seg,Single,Row,Column)
  dev_display(Image)
  dev_display(Single)
endwhile

Beispiel (HDevelop)

read_image(Image,'fabrik')
regiongrowing(Image,Seg,3,3,5,0)
dev_set_color('red')
dev_set_draw('margin')
Button := 1
while (Button == 1)
  get_mbutton(WindowHandle,Row,Column,Button)
  select_region_point(Seg,Single,Row,Column)
  dev_display(Image)
  dev_display(Single)
endwhile

Komplexität

Sei F die Fläche einer Region und N die Anzahl der Regionen, dann beträgt die Laufzeitkomplexität im Mittel O(ln(sqrt(F)) * N).

Ergebnis

select_region_pointselect_region_pointSelectRegionPointSelectRegionPointSelectRegionPoint liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Das Verhalten bei leerer Eingabe (keine Eingaberegionen vorhanden) lässt sich mittels set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection

Alternativen

test_region_pointtest_region_pointTestRegionPointTestRegionPointTestRegionPoint

Siehe auch

get_mbuttonget_mbuttonGetMbuttonGetMbuttonGetMbutton, get_mpositionget_mpositionGetMpositionGetMpositionGetMposition

Modul

Foundation