我正在上电脑视觉课。我不明白内核半径的概念。
// Convolve the kernel at each pixel
for(I =-radius;i<=radius;i++)
for(j=-radius;j<=radius;j++)
答案 0 :(得分:0)
在您的代码中,您会看到for循环将执行数据与内核的卷积,遍历一个坐标平方( - kernel radius
, - kernel radius
)=左下角到(kernel radius
,kernel radius
)=右上角,即正方形的边长为2 * kernel radius
。
这意味着,支持(内核可以为非零的区域)仅限于此居中的方块。
使用方形区域是因为网格是方形的并且出于性能原因。为了平等地对待每个方向,理论上内核将具有类似盘的支持。半径为kernel radius
的圆盘看起来与使用的方形支撑非常相似。这就是名称kernel radius
背后的原因。
简而言之:kernel radius
是对卷积内核支持的绝对(x)和绝对(y)的限制。它非常类似于将卷积内核限制为半径= kernel radius
的光盘的支持,因此得名。