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]里面有什么?它是一个元组吗?如果是这样,那可能是你的问题。该任务需要一个值。 –