最近numpy.gradient関数をテストしようとしています。しかし、それは私の行動は少し奇妙です。私はランダム変数を持つ配列を作成し、その上にnumpy.gradientを適用しましたが、値はクレイジーで無関係です。しかし、numpy.diffを使用する場合、値は正しいです。画像にnumpy勾配関数を使用することはできますか?
したがって、numpy.gradientのドキュメントを参照した後、目的のディメンションに対して距離= 1が使用されていることがわかります。
これは私が何を意味するかです:
import numpy as np;
a= np.array([10, 15, 13, 24, 15, 36, 17, 28, 39]);
np.gradient(a)
"""
Got this: array([ 5. , 1.5, 4.5, 1. , 6. , 1. , -4. , 11. , 11. ])
"""
np.diff(a)
"""
Got this: array([ 5, -2, 11, -9, 21, -19, 11, 11])
"""
私は最初の結果の値が来たか理解していません。デフォルト距離を1とすると、numpy.diffと同じ結果が得られるはずです。
ここでどのような距離が意味するのか説明できますか。それは配列インデックスまたは配列の値に相対的ですか?値に依存する場合、隣接ピクセルの値には固定値の差がないため、numpy.gradientを画像に使用できないことを意味しますか?
次の例のhttp://stackoverflow.com/questions/24633618/what-does-numpy-gradient-doのために...スタックに取り組んだ例を見つけることができ、これは「doesnの場合は他の人がありますあなたのために働く –
もう一度docstring(http://docs.scipy.org/doc/numpy/reference/generated/numpy.gradient.html)を見てください。 'gradient'が何を計算するかを説明します。たとえば、wikipedia(「https://en.wikipedia.org/wiki/Finite_difference」、特にhttps://en.wikipedia.org/wiki/Finite_difference#Forward.2C_backward)の「中心的な違い」について読むことができます。 2C_and_central_differences)。 –