numpy,数组算术在迭代所述数组后显示无效语法
numpy, array arithmetic shows invalid syntax after iterating over said array
我正在尝试编写这个为内核卷积创建内核的函数。
我正在将范围 -1,1 的结果转换为范围 0,1
def generate(phaseX, freqX, phaseY, freqY, shape):
img = numpy.full(shape, 0.5, dtype=numpy.float32)
for x in range(shape[0]):
for y in range(shape[0]):
img[x,y] *= numpy.cos(x*freqX+phaseX) * (numpy.cos(y*freqY+phaseY)
img = (img*0.5)+0.5
return img
这里我得到一个错误:
File "c:\Users\martin\Documents\rt3s\dct.py", line 40
img = (img*0.5)+0.5
^
SyntaxError: invalid syntax
当我删除 for 循环时,错误消失了。
我认为迭代以某种方式改变了类型,但我从未遇到过这个问题,而且我不知道如何着手调查正在发生的事情。
话虽如此,这里发生了什么?
这个问题是由多余的括号引起的,
删除它已解决问题。
for x in range(shape[0]):
for y in range(shape[0]):
img[x,y] *= numpy.cos(x*freqX+phaseX) * numpy.cos(y*freqY+phaseY)
我正在尝试编写这个为内核卷积创建内核的函数。
我正在将范围 -1,1 的结果转换为范围 0,1
def generate(phaseX, freqX, phaseY, freqY, shape):
img = numpy.full(shape, 0.5, dtype=numpy.float32)
for x in range(shape[0]):
for y in range(shape[0]):
img[x,y] *= numpy.cos(x*freqX+phaseX) * (numpy.cos(y*freqY+phaseY)
img = (img*0.5)+0.5
return img
这里我得到一个错误:
File "c:\Users\martin\Documents\rt3s\dct.py", line 40
img = (img*0.5)+0.5
^
SyntaxError: invalid syntax
当我删除 for 循环时,错误消失了。
我认为迭代以某种方式改变了类型,但我从未遇到过这个问题,而且我不知道如何着手调查正在发生的事情。 话虽如此,这里发生了什么?
这个问题是由多余的括号引起的, 删除它已解决问题。
for x in range(shape[0]):
for y in range(shape[0]):
img[x,y] *= numpy.cos(x*freqX+phaseX) * numpy.cos(y*freqY+phaseY)