2017-01-20 50 views
1

私はコンピュータービジョンクラスを取っています。私はカーネル半径の概念を理解していません。カーネル半径とはどういう意味ですか?

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

ここで半径とは何ですか? enter image description here 上記の画像がカーネルの場合、半径はどこですか?

+2

[このページ](http://www.pyimagesearch.com/2016/07/25/convolutions-with-opencv-and-python/)にアクセスし、この場合はカーネルのセクション –

+0

までスクロールしてくださいカーネルウィンドウのサイズを指します。あなたの場合、カーネルの半径は '3' –

+0

です。さらに、あなたが共有しているコードでは、半径を任意の*奇数*の整数に変更できます。 –

答えて

0
あなたがカーネルを使用してデータの畳み込みを実行しますループのため、座標の正方形の上で行くことがわかり、あなたのコードで

( - kernel radius、 - kernel radius)=の左下隅(kernel radiuskernel radius)=右、上隅、つまり正方形の辺の長さは2 * kernel radiusとなります。

これは、サポート(カーネルが非ゼロである可能性のある領域)がこの中央の正方形に限定されることを意味します。

グリッドが正方形で性能上の理由から正方形の領域が使用されます。あらゆる方向を均等に扱うために、カーネルは理論的には円盤のようなサポートを持っています。値がkernel radiusのディスクは、使用されている四角形のサポートと非常によく似ています。それは名前の後ろにあるものですkernel radius

つまり、kernel radiusは、コンボリューションカーネルのサポートの絶対(x)と絶対(y)の制限です。畳み込みカーネルをradius = kernel radiusというディスクのサポートに制限することと非常によく似ています。

+0

コンセプトをクリアしてくれてありがとう。心から感謝する。 – vkosyj

関連する問題