expand_lineexpand_lineExpandLineExpandLineexpand_line (Operator)
Name
expand_lineexpand_lineExpandLineExpandLineexpand_line
— Expand a region starting at a given line.
Warning
expand_lineexpand_lineExpandLineExpandLineExpandLineexpand_line
is obsolete and is only provided for
reasons of backward compatibility.
Signature
Herror expand_line(const Hobject Image, Hobject* RegionExpand, const Hlong Coordinate, const char* ExpandType, const char* RowColumn, double Threshold)
Herror T_expand_line(const Hobject Image, Hobject* RegionExpand, const Htuple Coordinate, const Htuple ExpandType, const Htuple RowColumn, const Htuple Threshold)
void ExpandLine(const HObject& Image, HObject* RegionExpand, const HTuple& Coordinate, const HTuple& ExpandType, const HTuple& RowColumn, const HTuple& Threshold)
HRegion HImage::ExpandLine(Hlong Coordinate, const HString& ExpandType, const HString& RowColumn, const HTuple& Threshold) const
HRegion HImage::ExpandLine(Hlong Coordinate, const HString& ExpandType, const HString& RowColumn, double Threshold) const
HRegion HImage::ExpandLine(Hlong Coordinate, const char* ExpandType, const char* RowColumn, double Threshold) const
HRegion HImage::ExpandLine(Hlong Coordinate, const wchar_t* ExpandType, const wchar_t* RowColumn, double Threshold) const
(Windows only)
static void HOperatorSet.ExpandLine(HObject image, out HObject regionExpand, HTuple coordinate, HTuple expandType, HTuple rowColumn, HTuple threshold)
HRegion HImage.ExpandLine(int coordinate, string expandType, string rowColumn, HTuple threshold)
HRegion HImage.ExpandLine(int coordinate, string expandType, string rowColumn, double threshold)
Description
expand_lineexpand_lineExpandLineExpandLineExpandLineexpand_line
generates a region by expansion, starting at a given line
(row or column). The expansion is terminated when the current gray value
differs by more than ThresholdThresholdThresholdThresholdthresholdthreshold
from the mean gray value along the
line (ExpandTypeExpandTypeExpandTypeExpandTypeexpandTypeexpand_type
= 'mean'"mean""mean""mean""mean""mean") or from the previously added
gray value (ExpandTypeExpandTypeExpandTypeExpandTypeexpandTypeexpand_type
= 'gradient'"gradient""gradient""gradient""gradient""gradient").
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Parameters
ImageImageImageImageimageimage
(input_object) singlechannelimage(-array) →
objectHImageHObjectHImageHobject (byte)
Input image.
RegionExpandRegionExpandRegionExpandRegionExpandregionExpandregion_expand
(output_object) region(-array) →
objectHRegionHObjectHRegionHobject *
Extracted segments.
CoordinateCoordinateCoordinateCoordinatecoordinatecoordinate
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Row or column coordinate.
Default value: 256
Suggested values: 16, 64, 128, 200, 256, 300, 400, 511
Restriction: Coordinate >= 0
ExpandTypeExpandTypeExpandTypeExpandTypeexpandTypeexpand_type
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Stopping criterion.
Default value:
'gradient'
"gradient"
"gradient"
"gradient"
"gradient"
"gradient"
List of values: 'gradient'"gradient""gradient""gradient""gradient""gradient", 'mean'"mean""mean""mean""mean""mean"
RowColumnRowColumnRowColumnRowColumnrowColumnrow_column
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Segmentation mode (row or column).
Default value:
'row'
"row"
"row"
"row"
"row"
"row"
List of values: 'column'"column""column""column""column""column", 'row'"row""row""row""row""row"
ThresholdThresholdThresholdThresholdthresholdthreshold
(input_control) number →
HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Threshold for the expansion.
Default value: 3.0
Suggested values: 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 13.0, 17.0, 20.0, 30.0
Typical range of values: 1.0
≤
Threshold
Threshold
Threshold
Threshold
threshold
threshold
≤
255.0
(lin)
Minimum increment: 1.0
Recommended increment: 1.0
Restriction: Threshold >= 0.0 && Threshold <= 255.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[])
{
HImage image (argv[1]),
gauss;
HWindow win;
win.SetDraw ("margin");
win.SetColored (12);
image.Display (win);
gauss = image.GaussImage (5);
HRegionArray reg = gauss.ExpandLine (100, "mean", "row", 5.0);
reg.Display (win);
win.Click ();
return (0);
}
Example (C)
read_image(&Image,"fabrik");
gauss_filter(Image,&Gauss,5);
expand_line(Gauss,&Reg,100,"mean","row",5.0);
set_colored(WindowHandle,12);
disp_region(Maxima,WindowHandle);
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[])
{
HImage image (argv[1]),
gauss;
HWindow win;
win.SetDraw ("margin");
win.SetColored (12);
image.Display (win);
gauss = image.GaussImage (5);
HRegionArray reg = gauss.ExpandLine (100, "mean", "row", 5.0);
reg.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[])
{
HImage image (argv[1]),
gauss;
HWindow win;
win.SetDraw ("margin");
win.SetColored (12);
image.Display (win);
gauss = image.GaussImage (5);
HRegionArray reg = gauss.ExpandLine (100, "mean", "row", 5.0);
reg.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[])
{
HImage image (argv[1]),
gauss;
HWindow win;
win.SetDraw ("margin");
win.SetColored (12);
image.Display (win);
gauss = image.GaussImage (5);
HRegionArray reg = gauss.ExpandLine (100, "mean", "row", 5.0);
reg.Display (win);
win.Click ();
return (0);
}
Possible Predecessors
binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter
,
gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter
,
smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImagesmooth_image
,
anisotropic_diffusionanisotropic_diffusionAnisotropicDiffusionAnisotropicDiffusionAnisotropicDiffusionanisotropic_diffusion
,
median_imagemedian_imageMedianImageMedianImageMedianImagemedian_image
,
affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImageaffine_trans_image
,
rotate_imagerotate_imageRotateImageRotateImageRotateImagerotate_image
Possible Successors
intersectionintersectionIntersectionIntersectionIntersectionintersection
,
openingopeningOpeningOpeningOpeningopening
,
closingclosingClosingClosingClosingclosing
Alternatives
regiongrowing_meanregiongrowing_meanRegiongrowingMeanRegiongrowingMeanRegiongrowingMeanregiongrowing_mean
,
expand_grayexpand_grayExpandGrayExpandGrayExpandGrayexpand_gray
,
expand_gray_refexpand_gray_refExpandGrayRefExpandGrayRefExpandGrayRefexpand_gray_ref
Module
Foundation