當我編寫如下所示的一些測試代碼時,我得到「索引錯誤太多」。Python數組中的索引錯誤太多
我不知道爲什麼這個代碼不工作...
a = np.arange(40).reshape(4,10)
print a
in_ = np.array(a, dtype=np.float32)
print in_
in_ = in_[:,:,::-1]
print in_
當我編寫如下所示的一些測試代碼時,我得到「索引錯誤太多」。Python數組中的索引錯誤太多
我不知道爲什麼這個代碼不工作...
a = np.arange(40).reshape(4,10)
print a
in_ = np.array(a, dtype=np.float32)
print in_
in_ = in_[:,:,::-1]
print in_
我原來的測試代碼如下。我想念我做測試陣列的時候。
im = Image.open('/data/synthia/RGB/ap_000_02-11-2015_18-02-19_000162_2_Rand_6.png')
in_ = np.array(im, dtype=np.float32)
in_ = in_[:,:,::-1]
in_ -= np.array((104.00698793,116.66876762,122.67891434))
in_ = in_.transpose((2,0,1))
看起來像這裏的「im'是一個3d數組。它的「形狀」是什麼。在你的問題中,你創建了一個2D數組,而不是一個3D數組。 – hpaulj
當你做.reshape(4,10)
你改變你的陣列成一個二維數組大小爲4×10。這個數組有2個維度,因此它只有2個索引。
當你調用[:,:,::-1]
你提到你的二維數組3個incides::
,:
和::-1
。它會導致錯誤。
in_ = in _ [:,: - 1]應該是這樣的 – Backtrack
你在哪一行得到錯誤?我猜可能是'in _ [:,:, - 1]',但我想真正的問題是你在做什麼? –
我嘗試使用像素級別修改圖像文件。 –