from PIL import Image
import numpy as np
from math import sqrt
import numpy
im1 = Image.open("C:\Users...l8\B2.TIF")
im2 = Image.open("C:\Users\...l8\B3.TIF")
im3 = Image.open("C:\Users\.....\l8\B4.TIF")
im4 = Image.open("C:\Users\.........\l8\B8.TIF")
im1 = im1.resize((im4.size[0], im4.size[1]), Image.ANTIALIAS)
im2 = im2.resize((im4.size[0], im4.size[1]), Image.ANTIALIAS)
im3 = im3.resize((im4.size[0], im4.size[1]), Image.ANTIALIAS)
arr1 = np.array(im1)
arr2 = np.array(im2)
arr3 = np.array(im3)
arr4 = np.array(im4)
V1=(arr1+arr2-2*arr3)
V2=(arr1-arr2)
y= sqrt(2)
x= sqrt(6)
x1 = [[None for col in range(V1.shape[0])] for row in range(V1.shape[1])]
y1 = [[None for col in range(V1.shape[0])] for row in range(V1.shape[1])]
for i in range(V1.shape[0]):
for j in range(V1.shape[1]):
x1[i][j] = (V1[i][j])/x
y1[i][j] = (V2[i][j])/y
我有以下错误 回溯(最近一次呼叫): 文件“C:\Users\shaheera\Desktop\ihs.py公司“,第35行,in x1[i][j]=(V1[i][j])/x 索引器错误:列表分配索引超出范围
至于你对列表的理解,你的列表索引倒过来了。在最后两行中切换i和j。你知道吗
x1[i][j]
是(x1[i])[j],但i是长度V1.shape[0]
,外部列表是长度V1.shape[1]
。你知道吗但你可能还是会有记忆错误。你知道吗
不确定错误是什么(缩进似乎有可能),但是当你已经有了numpy数组时,你真的不需要回到列表理解。你知道吗
就这么做吧
相关问题 更多 >
编程相关推荐