鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Python/ numpy gradient函數(shù)在變量為array和matrix下求解結(jié)果不一致

numpy gradient函數(shù)在變量為array和matrix下求解結(jié)果不一致

題目描述

使用numpy gradient函數(shù)求取梯度

相關(guān)代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)

g = img[0:3, 0:3]

g=
array([[138, 144, 141],

   [134, 135, 132],
   [137, 135, 133]], dtype=uint8)

gy, gx = np.gradient(g)
gy=
array([[252. , 247. , 247. ],

   [127.5, 123.5, 124. ],
   [  3. ,   0. ,   1. ]])

gx=
array([[ 6. , 1.5, 253. ],

   [  1. , 127. , 253. ],
   [254. , 126. , 254. ]])
   

arr=np.array([[138, 144, 141],[134, 135, 132],[137, 135, 133]])
arr=
array([[138, 144, 141],

   [134, 135, 132],
   [137, 135, 133]])
   

gy, gx = np.gradient(arr)
gy=
array([[-4. , -9. , -9. ],

   [-0.5, -4.5, -4. ],
   [ 3. ,  0. ,  1. ]])

gx=
array([[ 6. , 1.5, -3. ],

   [ 1. , -1. , -3. ],
   [-2. , -2. , -2. ]]) 

你期待的結(jié)果是什么?實際看到的錯誤信息又是什么?

為什么兩者結(jié)果不一致,matrix類型下是怎么計算梯度的?

回答
編輯回答
孤客

數(shù)據(jù)溢出,將matrix類型轉(zhuǎn)為 float然后計算梯度

2017年7月8日 14:14