微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

numpy,数组算术在迭代所述数组后显示无效语法

如何解决numpy,数组算术在迭代所述数组后显示无效语法

我正在尝试编写这个函数来为内核卷积创建内核。

我将结果从范围 -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 循环时,错误消失了。

我认为迭代以某种方式改变了类型,但我从未遇到过这个问题,我不知道如何去调查正在发生的事情。 话虽如此,这里发生了什么?

解决方法

问题是由多余的括号引起的, 删除 if 已解决问题。

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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。