【问题标题】:Python: skimage gabor_kernel size not as expectedPython:skimage gabor_kernel 大小与预期不符
【发布时间】:2020-12-12 22:41:36
【问题描述】:

我正在使用 scikit-image 库中的 gabor 内核方法来检查我的强度图像的方向。根据官方文档,它采用以下参数:

gabor_kernel(frequency, theta=0, bandwidth=1, sigma_x=None, sigma_y=None, n_stds=3, offset=0)

在我的代码中,我使用的是下面的代码,所以内核的大小被隐式定义为3。

    from skimage.filters import gabor_kernel
    frequency = (np.pi) / (2 * np.sqrt(2))
    theta = 0
    gkernel = gabor_kernel(frequency, theta=theta)
    print('theta=%d,\nfrequency=%.2f' % (theta * 180 / np.pi, frequency))
    print(gkernel)

我不明白为什么生成的内核是一个15x15的矩阵,当大小设置为3时。

感谢您的帮助, 塞巴斯蒂安

【问题讨论】:

    标签: python size gabor-filter


    【解决方案1】:

    带宽选项有点神秘。根据文档,“对于固定带宽,sigma_x 和 sigma_y 将随着频率的增加而减小。如果用户设置了 sigma_x 和 sigma_y,则忽略此值。”我建议指定 sigma_x 和 sigma_y 进行直接控制。

    对我来说另一个问题是频率。它具有逆像素单位。因此,以像素为单位指定波长更简单,然后频率 = 1/波长。例如,如果您的波长为 10,则使用频率 = 1/10 将意味着信号在 10 个像素中完成 1 个完整周期。由于此处定义的方式,您无需担心 pi 因素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-15
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多