Hy! 我有兩個圖像(相同尺寸)作爲numpy的陣列IMGA - IMGB 我想迭代每個行和列,並獲得somenthing這樣的:使用numpy數組遍歷多維數組(圖像) - python
for i in range(0, h-1):
for j in range(0, w-1):
final[i][j]= imgA[i,j] - imgB[i-k[i],j]
其中h和w的高度和的寬度圖像和k是和維度[h * w]數組。
我已經看到了這個話題: Iterating over a numpy array 但它好好嘗試與圖片的工作,我得到的錯誤:值過多解壓 有沒有辦法做到這一點與numpy的和Python 2.7?
感謝
編輯 我試圖解釋自己更好。 我在LAB色彩空間中有2個圖像。這些圖像是(288,384,3)。 現在我想提出的DeltaE,所以我可以做這樣的(吐2個陣列):
imgLabL=np.dsplit(imgL,3)
imgLabR=np.dsplit(imgR,3)
imgLl=imgLabL[0]
imgLa=imgLabL[1]
imgLb=imgLabL[2]
imgRl=imgLabR[0]
imgRa=imgLabR[1]
imgRb=imgLabR[2]
delta=np.sqrt(((imgLl-imgRl)**2) + ((imgLa - imgRa)**2) + ((imgLb - imgRb)**2) )
到目前爲止,一切都很好。 但現在我有這個數組k(288,384)。所以現在我需要一個新的三角洲,但與不同的x軸,像imgRl(0,0)中的像素,我想在imgLl中添加像素(0 + k,0)
你會得到更多我的問題嗎?
難道你不是指imgA [i] [j] - imgB [i-k [i]] [j]? –
是的抱歉,我寫錯了,但我的意思是。 我的圖像是384x288,但它進入無限循環,我也不能寫最後的[i] [j],但只是最終的,因爲我得到: valueError:輸出操作數需要減少,但減少未啓用。 – Gianfra
imgA [i] [j]裏面有什麼?它是一個元組嗎?如果是這樣,那可能是你的問題。該任務需要一個值。 –