ClassesClassesClassesClasses | | | | Operators

get_region_chainT_get_region_chainGetRegionChainget_region_chainGetRegionChainGetRegionChain (Operator)

Name

get_region_chainT_get_region_chainGetRegionChainget_region_chainGetRegionChainGetRegionChain — Contour of an object as chain code.

Warning

get_region_chainget_region_chainGetRegionChainget_region_chainGetRegionChainGetRegionChain is obsolete and is only provided for reasons of backward compatibility.

Signature

get_region_chain(Region : : : Row, Column, Chain)

Herror T_get_region_chain(const Hobject Region, Htuple* Row, Htuple* Column, Htuple* Chain)

Herror get_region_chain(Hobject Region, HTuple* Row, HTuple* Column, HTuple* Chain)

Hlong HRegion::GetRegionChain(HTuple* Column, HTuple* Chain) const

void GetRegionChain(const HObject& Region, HTuple* Row, HTuple* Column, HTuple* Chain)

void HRegion::GetRegionChain(Hlong* Row, Hlong* Column, HTuple* Chain) const

void HOperatorSetX.GetRegionChain(
[in] IHUntypedObjectX* Region, [out] VARIANT* Row, [out] VARIANT* Column, [out] VARIANT* Chain)

Hlong HRegionX.GetRegionChain(
[out] Hlong* Column, [out] VARIANT* Chain)

static void HOperatorSet.GetRegionChain(HObject region, out HTuple row, out HTuple column, out HTuple chain)

void HRegion.GetRegionChain(out int row, out int column, out HTuple chain)

Description

The operator get_region_chainget_region_chainGetRegionChainget_region_chainGetRegionChainGetRegionChain returns the contour of a region. A contour is a series of pixels describing the outline of the region. The contour “lies on” the region. It starts at the smallest line number; in that line at the pixel with the largest column index. The rotation occurs clockwise. Holes of the region are ignored. The direction code (chain code) is defined as follows:

                        3       2       1
                        4       *       0
                        5       6       7
The operator get_region_chainget_region_chainGetRegionChainget_region_chainGetRegionChainGetRegionChain returns the code in the form of a tuple. In case of an empty region the parameters RowRowRowRowRowrow and ColumnColumnColumnColumnColumncolumn are zero and ChainChainChainChainChainchain is the empty tuple.

Attention

Holes of the region are ignored. Only one region may be passed, and it must have exactly one connection component.

Parallelization

Parameters

RegionRegionRegionRegionRegionregion (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Region to be transformed.

RowRowRowRowRowrow (output_control)  chain.begin.y HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Line of starting point.

ColumnColumnColumnColumnColumncolumn (output_control)  chain.begin.x HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Column of starting point.

ChainChainChainChainChainchain (output_control)  chain.code-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Direction code of the contour (from starting point).

Typical range of values: 0 ≤ Chain Chain Chain Chain Chain chain ≤ 7

Result

The operator get_region_chainget_region_chainGetRegionChainget_region_chainGetRegionChainGetRegionChain normally returns the value 2 (H_MSG_TRUE). If more than one connection component is passed an exception is raised. 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>). The behavior in case of empty region (the region is the empty set) is set via the operator set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp, thresholdthresholdThresholdthresholdThresholdThreshold, skeletonskeletonSkeletonskeletonSkeletonSkeleton, edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage, gen_rectangle1gen_rectangle1GenRectangle1gen_rectangle1GenRectangle1GenRectangle1, gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle

Possible Successors

approx_chainapprox_chainApproxChainapprox_chainApproxChainApproxChain, approx_chain_simpleapprox_chain_simpleApproxChainSimpleapprox_chain_simpleApproxChainSimpleApproxChainSimple

See also

copy_objcopy_objCopyObjcopy_objCopyObjCopyObj, get_region_contourget_region_contourGetRegionContourget_region_contourGetRegionContourGetRegionContour, get_region_polygonget_region_polygonGetRegionPolygonget_region_polygonGetRegionPolygonGetRegionPolygon

Module

Foundation


ClassesClassesClassesClasses | | | | Operators