2017-10-16 150 views
-1

我正在尋找一種方式來聲明我的內核/過濾器的中心,使我的二維卷積的輸出是按照下圖在CONV2輸出矩陣(輸入濾波器)索引問題

來源: http://machinelearninguru.com/computer_vision/basics/convolution/image_convolution_1.html enter image description here

我已經調查CONV2(輸入,濾波器)但發現這種內置函數假定爲一個M×N個濾光器,其中心總是位於(M,N)的位置在過濾器基質。我在https://www.mathworks.com/help/vision/ref/2dconvolution.html 處看到以下圖像。在這種情況下雙總和的結果將在輸出矩陣位於(2,2)而不是(1,1)

enter image description here

Matlab的版本:MatlabR2014a

回答

0

如果我正確理解你所需要使用的形狀手柄CONV 2:

conv2(input,filter,'same') 
+0

是的......當M,N(濾波器矩陣的維數)是奇數時,它似乎工作,並且'濾波器'中的最大值位於中間。例如當M = N = 3並且max(濾波器)在(2,2)時。但是如果max(過濾器)不在中間怎麼辦?對於3x3的例子,令max最大爲(2,1)。在這種情況下,「相同」的句柄不起作用。有沒有辦法確保輸出索引是由濾波器矩陣的最大元素位置決定的?我想通過零填充濾波器矩陣生成newfilter,使濾波器矩陣的最大元素居中,然後使用conv2(x,newfilter,'same')... – NAASI

0

您可以使用的'full'形狀參數然後索引到輸出中以選擇您想要的任何適當對齊的切片。