哈里斯Harris角

哈里斯Harris角

计算图像的哈里斯角。

哈里斯角是用几个参数计算的

=输入图像

=拐角强度阈值

=欧几里得半径

=灵敏度阈值

=窗口大小

=块大小

求角点值或分数的计算可以概括为:

 :: where [eq]#V~c~# is the thresholded corner value.

用于梯度计算的归一化 Sobel 核应为 如下所示:[REQ-0218]

对于渐变尺寸 3:

 对于渐变尺寸 5:

 对于渐变尺寸 7:

 Vc然后被非最大抑制,返回与 使用以下算法:

使用定义的非最大抑制算法过滤要素 为。vxFastCornersNode

创建按以下方式排序的要素数组Vc按降序排列:Vc(j) > Vc(j+1).

初始化空特征集 F = {}

对于排序数组中的每个特征 j,而Vc(j) > Tc:

如果 F 中没有特征 i,则使得欧几里得距离 在像素 i 和 j 小于 r 之间,将特征 j 添加到 功能集 F。

实现应支持满足[REQ-0219]的欧几里得距离r的所有值:0≤max_dist≤30。特征集F作为vx_keypoint_t结构的vx_array返回。

功能

vxHarrisCornersNode

vxuHarrisCorners

3.25.1. 函数

vxHarrisCorners节点

[图表]创建 Harris Corners 节点。

vx_node vxHarrisCornersNode(

    vx_graph                                    graph,

    vx_image                                    input,

    vx_scalar                                   strength_thresh,

    vx_scalar                                   min_distance,

    vx_scalar                                   sensitivity,

    vx_int32                                    gradient_size,

    vx_int32                                    block_size,

    vx_array                                    corners,

    vx_scalar                                   num_corners);

参数

[in] graph - 对图形的引用。

[in] input - 输入VX_DF_IMAGE_U8图像。

[in] strength_thresh - 最小阈值VX_TYPE_FLOAT32 用它来消除哈里斯角分数(使用 归一化 Sobel 内核)。 

[in] min_distance - 径向欧几里得VX_TYPE_FLOAT32非最大抑制的距离。

[in] sensitivity - VX_TYPE_FLOAT32标量灵敏度 Harris-Stephens 方程中的阈值 k。

[in] gradient_size - 要在输入上使用的渐变窗口大小。 实现必须至少支持 3、5 和 7。

[in] block_size - 用于计算 Harris 的块窗口大小 角球得分。 实现必须至少支持 3、5 和 7。

[out] corners - 对象的数组。 此数组中关键点的顺序由实现定义。VX_TYPE_KEYPOINT[REQ-0227]

[out]corners-VX_TYPE_KEYPOINT对象的数组。此数组中关键点的顺序由实现定义。

返回: .vx_node

返回值

vx_node-节点参考。应使用vxGetStatus检查阻止成功创建的任何可能错误

vxuHarris角落

[即时]计算图像上的哈里斯角,并生成得分数组。

vx_status vxuHarrisCorners(

    vx_context                                  context,

    vx_image                                    input,

    vx_scalar                                   strength_thresh,

    vx_scalar                                   min_distance,

    vx_scalar                                   sensitivity,

    vx_int32                                    gradient_size,

    vx_int32                                    block_size,

    vx_array                                    corners,

    vx_scalar                                   num_corners);

参数

[in]context-对整体上下文的引用。

[in]input-输入VX_DF_IMAGE_U8图像。

[in]strength_thresh-消除Harris Corner分数的VX_TYPE_FLOAT32最小阈值(使用标准化Sobel核计算)。

[in]min_distance-用于非最大抑制的VX_TYPE_FLOAT32径向欧几里得距离。

[in]灵敏度-哈里斯-斯蒂芬斯方程中的VX_TYPE_FLOAT32标量灵敏度阈值k。

[in]gradient_size-用于输入的渐变窗口大小。实施必须至少支持3、5和7。

[in]block_size-用于计算harris角得分的块窗口大小。实施必须至少支持3、5和7。

[out]corners-VX_TYPE_KEYPOINT结构的数组。此数组中关键点的顺序由实现定义。

[out]num_corners-[可选]图像中检测到的角点总数。使用VX_TYPE_SIZE标量

返回:vx_status_e枚举

返回值

VX_SUCCESS-成功

* - 发生错误。 看vx_status_e

posted @ 2024-05-22 04:22  吴建明wujianming  阅读(21)  评论(0编辑  收藏  举报