使用偶数大小的内核进行图像卷积

Ast*_*One 8 image-processing convolution

我想执行一个简单的2D图像卷积,但我的内核是偶数.我应该为我的内核中心选择哪些索引?我尝试使用Google搜索并查找现有代码.人们通常将他们的内核集中在一起,因此在新的0之前会有一个样本.因此,如果我们有一个4x4内核,则居中的索引应该是-2 -1 0 +1.那是对的吗?如果是的话,为什么会这样呢?有人能解释为什么-2 -1 0 +1不正确-1 0 +1 +2吗?请记住,我想在不使用FFT的情况下执行卷积.

Rog*_*and 8

如果我正确地理解了你的问题,那么对于偶数大小的内核,你是正确的,这是使内核居中的惯例,以便在新的零之前还有一个样本.

因此,对于宽度为4的内核,居中的索引将-2 -1 0 +1如上所述.

然而,这实际上只是一个惯例 - 非对称卷积很少使用,不对称的确切性质(左/右等)与"正确"结果无关.我认为大多数实现以这种方式运行的原因是它们可以在给定相同输入的情况下给出可比较的结果.

在频域中执行卷积时,无论如何都会对内核进行填充以匹配图像大小,并且您已经声明在空间域中执行卷积.

我更感兴趣的是你为什么需要首先使用偶数大小的内核.