【问题标题】:What does kernel radius mean?内核半径是什么意思?
【发布时间】:2017-01-21 06:09:45
【问题描述】:

我正在学习计算机视觉课程。我不明白内核半径的概念。

// Convolve the kernel at each pixel
        for(I =-radius;i<=radius;i++)
            for(j=-radius;j<=radius;j++)

radius 在这里做什么? 说上图是内核,那么半径在哪里呢?

【问题讨论】:

  • 访问THIS PAGE并向下滚动到“内核”部分
  • radius 在这种情况下是指内核窗口的大小。在你的情况下,内核的半径是 '3'
  • 此外,在您共享的代码中,您可以将半径更改为您选择的任何 odd 整数。
  • 你知道你可以在电脑上画直线和矩形吗?
  • @JeruLuke 不正确。你在谈论内核宽度。看看他的循环。如果您使用 3 作为半径,他将在 [-3;3] 的区间上进行迭代。那是 9x9 像素。他的例子中的半径是 1.5,这给了我们一个 [-1;1] 的整数区间。为什么你认为它被命名为半径?半径和直径什么时候一样了?

标签: image-processing computer-vision


【解决方案1】:

在您的代码中,您会看到将执行数据与内核卷积的 for 循环越过坐标的平方 (-kernel radius, -kernel radius)=左下角到 (kernel radius ,kernel radius)=right,上角,即正方形的边长为2*kernel radius

这意味着,支持(内核可以为非零的区域)被限制在这个居中的正方形内。

使用方形区域是因为网格是方形的并且出于性能原因。为了平等对待每个方向,内核理论上宁愿有一个类似圆盘的支持。半径值为kernel radius 的圆盘看起来与使用的方形支撑非常相似。这就是 kernel radius 这个名字背后的原因。

简而言之:kernel radius 是卷积核支持的 absolute(x) 和 absolute(y) 的限制。它非常类似于将卷积核限制为支持半径 = kernel radius 的圆盘,因此得名。

【讨论】:

  • 感谢您澄清这个概念。真的很感激。
猜你喜欢
  • 2015-05-16
  • 1970-01-01
  • 2012-03-29
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多