1

使用すると、Matlabのラプラス演算子で劇的に異なる結果が得られる理由を誰かが説明できますか

laplacian = del2(image);

[x, y] = gradient(image);
[xx, xy] = gradient(x);
[yx, yy] = gradient(y);
laplacian = xx + yy;

これらは同じことになるべきではありませんか?dx項を含めると、特に発散します。

役立つ場合に備えて、ここに私の例を示します。

 [5; 2.5+2.5i; 5i; -2.5+2.5i; -5; -2.5-2.5i; -5i; 2.5-2.5i] 

その転置の倍(それが役立つ場合は、マトリックス全体を投稿できます)。このフィールドのdel2()の内側のブロック(3:6、3:6)は次のとおりです。

[-2.5           -0.625-0.625i  -2.5i           0.625-0.625i ;
 -0.625+0.625i   0             -0.625+0.625i   0            ;
  2.5i          -0.625+0.625i  -2.5           -0.625+0.625i ;
  0.625+0.625i   0             -0.625+0.625i   0            ] 

一方、xx + yyの内側のブロック(3:6、3:6)は次のとおりです。

[-5             -2.5-2.5i      -5i            -2.5-2.5i     ; 
 -2.5+2.5i      -2.5           -2.5-2.5i      -2.5i         ; 
  5i            -2.5+2.5i      -5             -2.5-2.5i     ; 
  2.5+2.5i       2.5i          -2.5+2.5i      -2.5          ]

ご覧のとおり、これ以降の方程式に劇的な違いが生じます。誰か説明がありますか、どうもありがとうございました!

4

2 に答える 2

2

del2のドキュメントでわかるように、比較1/4した勾配法とは 1 倍異なります。

これは、あなたの例の要因4を部分的に説明しています。残りはエッジ効果のせいにします:p

于 2012-09-10T16:03:47.990 に答える