Je cherche un moyen de déclarer centre de mon noyau/filtre de sorte que la sortie de mon convolution 2D est conforme à la figure suivanteproblème d'indexation pour la matrice de sortie dans conv2 (entrée, filtre)
source: http://machinelearninguru.com/computer_vision/basics/convolution/image_convolution_1.html
I se sont penchés sur conv2 (entrée, filtre) mais a constaté que cette fonction intégrée suppose que pour un filtre MxN, son centre est toujours situé à l'emplacement (M, N) dans une matrice de filtre. J'ai vu l'image suivante au https://www.mathworks.com/help/vision/ref/2dconvolution.html . Dans ce cas, le résultat de la somme à double sera situé à (2,2) au lieu de (1,1) dans la matrice de sortie
Matlab Version:MatlabR2014a
Oui ..... il semble fonctionner lorsque M, N (dimensions de la matrice de filtre) sont impairs et que la valeur maximale dans le 'filtre' est au milieu. par exemple lorsque M = N = 3 et max (filtre) est à (2,2). Cependant, que si max (filtre) n'est pas au milieu. Pour un exemple 3x3, laissez max être à (2,1). Dans ce cas, la même poignée ne fonctionne pas. Y at-il un moyen de s'assurer que l'indice de sortie est dicté par l'emplacement de l'élément max de la matrice de filtre? J'ai pensé à générer newfilter par zéro matrice de filtre de remplissage pour amener l'élément max de la matrice de filtre au centre et ensuite utiliser conv2 (x, newfilter, 'same') ... – NAASI