我对Python有一个有趣(虽然令人沮丧)的问题.
我正在尝试填充plaintexts基于某些计算调用的二维数组,并且我发现此数组中的所有条目都是重复的.即,plaintexts[0] == plaintexts[1] == ... == plaintexts[n].我假设我弄乱了值赋值,所以我试图将我的代码减半以找到问题,但是在一个没有结果的时刻后plaintexts[0][3],我在代码的末尾分配了一个值,并且看到,每隔一行就会弹出相同的值.
以下是我的相关代码:
placeholder = ['0'] * 33
plaintexts = [placeholder] * len(ciphers)
for i in range(2):
for j in range(1, 2):
for k in range(0,len(ciphers[0])-1,2):
.
.
.
.
if charType == '010':
if(plaintexts[i][k/2] != '0'):
.
.
.
.
else:
plaintexts[i][k/2] = (' ', xorstr.lower())
.
.
.
.
plaintexts[0][3] = '13414113133'
print plaintexts[0][3]
print plaintexts[1][3]
print plaintexts
Run Code Online (Sandbox Code Playgroud)
我很感激在解决这个问题上有任何帮助.
我正在尝试编写使用numpy和scipy生成视差图的代码,但是我在我的numpy数组中存储的值与我的输出图像中实际显示的值完全不同,用misc保存. imsave.例如,在数组中,没有一个值大于22,但在图像中,我有一个从0到255的全范围值.我认为也许imsave正在拉伸值,以便最大值显示为图像中有255个,但我有其他使用imsave创建的图像,其最大值低于255.
这些是我用来创建视差图的函数,给定了两个沿x轴移动的pgm图像:
def disp(i, j, winSize, leftIm, rightIm): #calculate disparity for a given point
width = leftIm.shape[1]
height = leftIm.shape[0]
w = winSize / 2
minSAD = 9223372036854775807 #max int
for d in range(23):
SAD = 0.0 #SAD
k = i - w
v = i + w
m = j - w
n = j + w
for p in range(k, v+1): #window - x
for q in range(m, n+1): #window y
if(p - d > 0 and …Run Code Online (Sandbox Code Playgroud)