critical_points_sub_pixT_critical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPixcritical_points_sub_pix (算子)
名称
critical_points_sub_pixT_critical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPixcritical_points_sub_pix — 图像中临界点的亚像素精确检测。
签名
void CriticalPointsSubPix(const HObject& Image, const HTuple& Filter, const HTuple& Sigma, const HTuple& Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle)
void HImage::CriticalPointsSubPix(const HString& Filter, double Sigma, double Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle) const
void HImage::CriticalPointsSubPix(const char* Filter, double Sigma, double Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle) const
void HImage::CriticalPointsSubPix(const wchar_t* Filter, double Sigma, double Threshold, HTuple* RowMin, HTuple* ColumnMin, HTuple* RowMax, HTuple* ColumnMax, HTuple* RowSaddle, HTuple* ColumnSaddle) const
(
Windows only)
static void HOperatorSet.CriticalPointsSubPix(HObject image, HTuple filter, HTuple sigma, HTuple threshold, out HTuple rowMin, out HTuple columnMin, out HTuple rowMax, out HTuple columnMax, out HTuple rowSaddle, out HTuple columnSaddle)
void HImage.CriticalPointsSubPix(string filter, double sigma, double threshold, out HTuple rowMin, out HTuple columnMin, out HTuple rowMax, out HTuple columnMax, out HTuple rowSaddle, out HTuple columnSaddle)
def critical_points_sub_pix(image: HObject, filter: str, sigma: float, threshold: float) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]
描述
critical_points_sub_pixcritical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPixCriticalPointsSubPixcritical_points_sub_pix extracts critical points, i.e., local
maxima, local minima, and saddle points, from the image ImageImageImageImageimageimage with
subpixel precision.
To do so, in each point the input image is approximated by a quadratic
polynomial in x and y and subsequently the polynomial is examined for
extremal values and saddle points. The partial derivatives, which are
necessary for setting up the polynomial, are calculated either with various
Gaussian derivatives or using the facet model, depending on FilterFilterFilterFilterfilterfilter.
In the first case, SigmaSigmaSigmaSigmasigmasigma determines the size of the Gaussian
kernels, while in the second case, before being processed the input image is
smoothed by a Gaussian whose size is determined by SigmaSigmaSigmaSigmasigmasigma.
Therefore, 'facet'"facet""facet""facet""facet""facet" results in a faster extraction at the expense
of slightly less accurate results. A point
is accepted to be a critical point if the absolute values of both
eigenvalues of the Hessian matrix are greater than ThresholdThresholdThresholdThresholdthresholdthreshold. The
eigenvalues correspond to the curvature of the gray
value surface. If both eigenvalues are negative, the point is a local
maximum, if both are positive, a local minimum, and if they have different
signs, a saddle point.
注意
请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在内部数据级别上自动并行化。
参数
ImageImageImageImageimageimage (输入对象) singlechannelimage → objectHImageHObjectHImageHobject (byte / int1 / int2 / uint2 / int4 / real)
输入图像。
FilterFilterFilterFilterfilterfilter (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Method for the calculation of the partial derivatives.
默认值:
'facet'
"facet"
"facet"
"facet"
"facet"
"facet"
值列表:
'facet'"facet""facet""facet""facet""facet", 'gauss'"gauss""gauss""gauss""gauss""gauss"
ThresholdThresholdThresholdThresholdthresholdthreshold (输入控制) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Minimum absolute value of the eigenvalues of the
Hessian matrix.
默认值:
5.0
建议值:
2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0
限制:
Threshold >= 0.0
RowMinRowMinRowMinRowMinrowMinrow_min (输出控制) point.y-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of the detected minima.
ColumnMinColumnMinColumnMinColumnMincolumnMincolumn_min (输出控制) point.x-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of the detected minima.
RowMaxRowMaxRowMaxRowMaxrowMaxrow_max (输出控制) point.y-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of the detected maxima.
ColumnMaxColumnMaxColumnMaxColumnMaxcolumnMaxcolumn_max (输出控制) point.x-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of the detected maxima.
RowSaddleRowSaddleRowSaddleRowSaddlerowSaddlerow_saddle (输出控制) point.y-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Row coordinates of the detected saddle points.
ColumnSaddleColumnSaddleColumnSaddleColumnSaddlecolumnSaddlecolumn_saddle (输出控制) point.x-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Column coordinates of the detected saddle points.
结果
critical_points_sub_pixcritical_points_sub_pixCriticalPointsSubPixCriticalPointsSubPixCriticalPointsSubPixcritical_points_sub_pix returns 2 (
H_MSG_TRUE)
if all parameters are
correct and no error occurs during the execution. 如果输入为空则可设置行为通过 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>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。
可能的后继
gen_cross_contour_xldgen_cross_contour_xldGenCrossContourXldGenCrossContourXldGenCrossContourXldgen_cross_contour_xld,
disp_crossdisp_crossDispCrossDispCrossDispCrossdisp_cross
替代
local_min_sub_pixlocal_min_sub_pixLocalMinSubPixLocalMinSubPixLocalMinSubPixlocal_min_sub_pix,
local_max_sub_pixlocal_max_sub_pixLocalMaxSubPixLocalMaxSubPixLocalMaxSubPixlocal_max_sub_pix,
saddle_points_sub_pixsaddle_points_sub_pixSaddlePointsSubPixSaddlePointsSubPixSaddlePointsSubPixsaddle_points_sub_pix
另见
local_minlocal_minLocalMinLocalMinLocalMinlocal_min,
local_maxlocal_maxLocalMaxLocalMaxLocalMaxlocal_max,
plateausplateausPlateausPlateausPlateausplateaus,
plateaus_centerplateaus_centerPlateausCenterPlateausCenterPlateausCenterplateaus_center,
lowlandslowlandsLowlandsLowlandsLowlandslowlands,
lowlands_centerlowlands_centerLowlandsCenterLowlandsCenterLowlandsCenterlowlands_center
模块
基础