Name
select_region_pointselect_region_pointSelectRegionPointselect_region_pointSelectRegionPointSelectRegionPoint — Choose all regions containing a given pixel.
The operator select_region_pointselect_region_pointSelectRegionPointselect_region_pointSelectRegionPointSelectRegionPoint selects all regions from RegionsRegionsRegionsRegionsRegionsregions
containing the test pixel (RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn), i.e.:
|Region[n] intersection {(Row,Column)}| = 1
If the regions overlap more than one region might contain the pixel.
In this case all these regions are returned.
If no region contains the indicated pixel the
empty tuple (= no region) is returned.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
All regions containing the test pixel.
Line index of the test pixel.
Default value: 100
Column index of the test pixel.
Default value: 100
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
disp_image(Image,WindowHandle)
regiongrowing(Image,Seg,3,3,5,0)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
Button := 1
while (Button == 1)
fwrite_string(FileId,'Select the region with the mouse (End right button)')
fnew_line(FileId)
get_mbutton(WindowHandle,Row,Column,Button)
select_region_point(Seg,Single,Row,Column)
disp_region(Single,WindowHandle)
endwhile
read_image(&Image,"fabrik");
open_window(0,0,-1,-1,0,"visible","",&WindowHandle);
disp_image(Image);
regiongrowing(Image,&Seg,3,3,5.0,0);
set_color(WindowHandle,"red");
set_draw(WindowHandle,"margin");
do {
printf("Select the region with the mouse (End right buttonn \n");
get_mbutton(WindowHandle,&Row,&Column,&Button);
select_region_point(Seg,&Single,Row,Column);
disp_region(Single,WindowHandle);
clear(Single);
} while(Button != 4);
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
disp_image(Image,WindowHandle)
regiongrowing(Image,Seg,3,3,5,0)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
Button := 1
while (Button == 1)
fwrite_string(FileId,'Select the region with the mouse (End right button)')
fnew_line(FileId)
get_mbutton(WindowHandle,Row,Column,Button)
select_region_point(Seg,Single,Row,Column)
disp_region(Single,WindowHandle)
endwhile
#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;
img.Display (w);
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());
ireg.Display (w);
} while (Button != 4);
return(0);
}
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
disp_image(Image,WindowHandle)
regiongrowing(Image,Seg,3,3,5,0)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
Button := 1
while (Button == 1)
fwrite_string(FileId,'Select the region with the mouse (End right button)')
fnew_line(FileId)
get_mbutton(WindowHandle,Row,Column,Button)
select_region_point(Seg,Single,Row,Column)
disp_region(Single,WindowHandle)
endwhile
read_image(Image,'fabrik')
open_window(0,0,-1,-1,'root','visible','',WindowHandle)
disp_image(Image,WindowHandle)
regiongrowing(Image,Seg,3,3,5,0)
set_color(WindowHandle,'red')
set_draw(WindowHandle,'margin')
Button := 1
while (Button == 1)
fwrite_string(FileId,'Select the region with the mouse (End right button)')
fnew_line(FileId)
get_mbutton(WindowHandle,Row,Column,Button)
select_region_point(Seg,Single,Row,Column)
disp_region(Single,WindowHandle)
endwhile
If F is the area of the region and N is the number of regions, the
mean runtime complexity is O(ln(sqrt(F)) * N).
The operator select_region_pointselect_region_pointSelectRegionPointselect_region_pointSelectRegionPointSelectRegionPoint returns the value 2 (H_MSG_TRUE)
if the parameters are correct.
The behavior in case of empty input (no input regions available) is
set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>).
If necessary an exception is raised.
thresholdthresholdThresholdthresholdThresholdThreshold,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing,
connectionconnectionConnectionconnectionConnectionConnection
test_region_pointtest_region_pointTestRegionPointtest_region_pointTestRegionPointTestRegionPoint
get_mbuttonget_mbuttonGetMbuttonget_mbuttonGetMbuttonGetMbutton,
get_mpositionget_mpositionGetMpositionget_mpositionGetMpositionGetMposition
Foundation