connect_grid_pointsT_connect_grid_pointsConnectGridPointsConnectGridPointsconnect_grid_points (算子)

名称

connect_grid_pointsT_connect_grid_pointsConnectGridPointsConnectGridPointsconnect_grid_points — 在校正网格的网格点之间建立连接。

签名

connect_grid_points(Image : ConnectingLines : Row, Column, Sigma, MaxDist : )

Herror T_connect_grid_points(const Hobject Image, Hobject* ConnectingLines, const Htuple Row, const Htuple Column, const Htuple Sigma, const Htuple MaxDist)

void ConnectGridPoints(const HObject& Image, HObject* ConnectingLines, const HTuple& Row, const HTuple& Column, const HTuple& Sigma, const HTuple& MaxDist)

HXLD HImage::ConnectGridPoints(const HTuple& Row, const HTuple& Column, const HTuple& Sigma, const HTuple& MaxDist) const

HXLD HImage::ConnectGridPoints(const HTuple& Row, const HTuple& Column, Hlong Sigma, double MaxDist) const

static void HOperatorSet.ConnectGridPoints(HObject image, out HObject connectingLines, HTuple row, HTuple column, HTuple sigma, HTuple maxDist)

HXLD HImage.ConnectGridPoints(HTuple row, HTuple column, HTuple sigma, HTuple maxDist)

HXLD HImage.ConnectGridPoints(HTuple row, HTuple column, int sigma, double maxDist)

def connect_grid_points(image: HObject, row: Sequence[float], column: Sequence[float], sigma: MaybeSequence[Union[float, int]], max_dist: Union[float, int]) -> HObject

描述

connect_grid_pointsconnect_grid_pointsConnectGridPointsConnectGridPointsConnectGridPointsconnect_grid_points searches for connecting lines between the grid points (RowRowRowRowrowrow,ColumnColumnColumnColumncolumncolumn) of the rectification grid. The connecting lines are extracted from the input image ImageImageImageImageimageimage by a combination of an edge detector, a smoothing filter, and a line detector, each of size . The to be used is determined as follows: When a single value is passed in SigmaSigmaSigmaSigmasigmasigma, this value is used. When a tuple of three values ('sigma_min'"sigma_min""sigma_min""sigma_min""sigma_min""sigma_min", 'sigma_max'"sigma_max""sigma_max""sigma_max""sigma_max""sigma_max", 'sigma_step'"sigma_step""sigma_step""sigma_step""sigma_step""sigma_step") is passed, connect_grid_pointsconnect_grid_pointsConnectGridPointsConnectGridPointsConnectGridPointsconnect_grid_points tests every within a range from 'sigma_min'"sigma_min""sigma_min""sigma_min""sigma_min""sigma_min" to 'sigma_max'"sigma_max""sigma_max""sigma_max""sigma_max""sigma_max" with a step width of 'sigma_step'"sigma_step""sigma_step""sigma_step""sigma_step""sigma_step" and chooses the that causes the greatest number of connecting lines. The same happens when a tuple of only two values 'sigma_min'"sigma_min""sigma_min""sigma_min""sigma_min""sigma_min" and 'sigma_max'"sigma_max""sigma_max""sigma_max""sigma_max""sigma_max" is passed. However, in this case a fixed step width of 0.05 is used.

Then, the extracted connecting lines are split at the grid points and those line segments are selected that start as well as end at a grid point. Note that edge detectors typically don't work very accurately in the proximity of edge junctions, and thus in general the connecting lines will not hit the grid points. Therefore, actually those connecting lines are split and selected that start at, end at, or pass a grid point at a maximum distance of MaxDistMaxDistMaxDistMaxDistmaxDistmax_dist. The connecting lines are modified in order to start and end exactly in the corresponding grid points, and are returned in ConnectingLinesConnectingLinesConnectingLinesConnectingLinesconnectingLinesconnecting_lines as XLD contours.

Additionally, connect_grid_pointsconnect_grid_pointsConnectGridPointsConnectGridPointsConnectGridPointsconnect_grid_points calculates for each output XLD contour its type of transition and stores it in its global attribute 'bright_dark'"bright_dark""bright_dark""bright_dark""bright_dark""bright_dark". The attribute is set to 1.0, if the connecting line forms a bright-dark transition (left to right, viewed from start point to end point), otherwise it is set to 0.0. For further information about global contour attributes see get_contour_global_attrib_xldget_contour_global_attrib_xldGetContourGlobalAttribXldGetContourGlobalAttribXldGetContourGlobalAttribXldget_contour_global_attrib_xld

注意

For a reliable determination of the type of bright-dark transition as well as for the following rectification, it is necessary that each connecting line has at least three contour points. Therefore, connecting lines with only two contour points are not returned. Note, that the parameter MaxDistMaxDistMaxDistMaxDistmaxDistmax_dist has a substantial influence on the length of the returned connecting lines, because all contour points of a possible connecting line that are closer than MaxDistMaxDistMaxDistMaxDistmaxDistmax_dist to a grid point are replaced by one single contour point. If MaxDistMaxDistMaxDistMaxDistmaxDistmax_dist is too big, some of the connecting lines might get lost.

执行信息

参数

ImageImageImageImageimageimage (输入对象)  singlechannelimage objectHImageHObjectHImageHobject (byte / uint2)

输入图像。

ConnectingLinesConnectingLinesConnectingLinesConnectingLinesconnectingLinesconnecting_lines (输出对象)  xld-array objectHXLDHObjectHXLDHobject *

Output contours.

RowRowRowRowrowrow (输入控制)  point.y-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Row coordinates of the grid points.

ColumnColumnColumnColumncolumncolumn (输入控制)  point.x-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Column coordinates of the grid points.

限制: number(Column) == number(Row)

SigmaSigmaSigmaSigmasigmasigma (输入控制)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Size of the applied Gaussians.

元素数量: 1 <= Sigma && Sigma <= 3

默认值: 0.9

建议值: 0.7, 0.9, 1.1, 1.3, 1.5

限制: 0.7 <= Sigma

MaxDistMaxDistMaxDistMaxDistmaxDistmax_dist (输入控制)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Maximum distance of the connecting lines from the grid points.

默认值: 5.5

建议值: 1.5, 3.5, 5.5, 7.5, 9.5

限制: 0.0 <= MaxDist

结果

connect_grid_pointsconnect_grid_pointsConnectGridPointsConnectGridPointsConnectGridPointsconnect_grid_points returns 2 ( H_MSG_TRUE) if all parameter values are correct。如有必要,则抛出异常。

可能的前趋

saddle_points_sub_pixsaddle_points_sub_pixSaddlePointsSubPixSaddlePointsSubPixSaddlePointsSubPixsaddle_points_sub_pix

可能的后继

gen_grid_rectification_mapgen_grid_rectification_mapGenGridRectificationMapGenGridRectificationMapGenGridRectificationMapgen_grid_rectification_map

模块

标定