当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python skimage.feature.corner_harris用法及代码示例


用法:

skimage.feature.corner_harris(image, method='k', k=0.05, eps=1e-06, sigma=1)

计算哈里斯角测量响应图像。

该角点检测器使用来自自相关矩阵 A 的信息:

A = [(imx**2)   (imx*imy)] = [Axx Axy]
    [(imx*imy)   (imy**2)]   [Axy Ayy]

其中 imx 和 imy 是一阶导数,使用高斯滤波器进行平均。然后将角测量定义为:

det(A) - k * trace(A)**2

或者:

2 * det(A) / (trace(A) + eps)

参数

image(M, N) ndarray

输入图像。

method{‘k’, ‘eps’},可选

从自相关矩阵计算响应图像的方法。

k浮点数,可选

将角与边分开的敏感因子,通常在 [0, 0.2] 范围内。较小的 k 值会导致检测到尖角。

eps浮点数,可选

归一化因子(Noble 的角测量)。

sigma浮点数,可选

用于高斯核的标准偏差,用作自相关矩阵的加权函数。

返回

responsendarray

哈里斯响应图像。

参考

1

https://en.wikipedia.org/wiki/Corner_detection

例子

>>> from skimage.feature import corner_harris, corner_peaks
>>> square = np.zeros([10, 10])
>>> square[2:8, 2:8] = 1
>>> square.astype(int)
array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
       [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
       [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
       [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
       [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
       [0, 0, 1, 1, 1, 1, 1, 1, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
>>> corner_peaks(corner_harris(square), min_distance=1)
array([[2, 2],
       [2, 7],
       [7, 2],
       [7, 7]])

相关用法


注:本文由纯净天空筛选整理自scikit-image.org大神的英文原创作品 skimage.feature.corner_harris。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。