5

私の本には、OpenCV のイメージ カーネルの概念について次のように書かれています。

計算がピクセル近傍で行われる場合、これをカーネル行列で表すのが一般的です。このカーネルは、目的の結果を得るために、計算に含まれるピクセルをどのように組み合わせるかを記述します。

画像のぼかし技術では、カーネル サイズを使用します。

cv::GaussianBlur(inputImage,outputImage,Size(1,1),0,0)

では、カーネルのサイズSize(1,1)

次の画像を見てください

ここに画像の説明を入力

ここで、カーネルサイズは? Size(3,3)? この画像でサイズと言うとSize(1,1)、カーネルが 1 ピクセルしか取得せず、ピクセル値が 0 (画像の最初の値) であることを意味しますか?

4

3 に答える 3

9

あなたが与えたサンプル イメージのカーネル サイズは 3 行 3 列 ( Size(3,3)) です。はい。あまり興味深いものではありませんが、1 行 1 列のカーネル サイズは有効です。

によって実行される操作の総称GaussianBlur畳み込みです。

このGaussianBlur関数はガウス カーネルを作成します。これは基本的に、n x n ピクセルのウィンドウを組み合わせて単一のピクセル値を取得する方法を表す行列です (この場合はガウス型のぼかしパターンを使用します)。

サイズが 1 行 1 列のカーネルは、イメージのスカラー乗算以外のことはできません。つまり、1 行 1 列の行列による畳み込み[c]はちょうどc * inputImageです。

通常、次を満たす n 行 n 列のガウス カーネルを選択します。

  • 必要な量をぼかすようなガウス分布 (つまり、標準偏差または分散)
    • 数値が大きいほどぼやけます。数値が小さいほどブレが少ない
  • モードに近すぎるガウス分布を切り捨てないように、十分に大きな n を選択します。

リンク:

于 2013-05-20T18:43:23.727 に答える
5

投稿する画像は 3x3 カーネルで、 で指定されcv::Size(3,3)ます。cv::Size(1,1)1 ピクセルに相当すると言うのは正しいですがcv::Size(1,1)、画像に関して「 」と言うのは意味がありません。1x1 カーネルの値は[1].

于 2013-05-20T18:44:51.200 に答える