我正在创建一个截止点在e^(-2)的高斯图像,但我一直遇到错误。 我已经定义了我的高斯函数,我试图使它有一个布尔返回,但它不工作。你知道吗
import numpy as np
import scipy.misc
sizex=684
sizey=608
X = np.linspace(-sizex/2,sizex/2,sizex)
Y = np.linspace(-sizey/2,sizey/2,sizey)
xx, yy = np.meshgrid(X, Y, sparse=True)
def Gauss(xx,yy,centx,centy,sig):
return 1/np.exp(((xx-centx)**2+(yy-centy)**2)/sig**2) > 1/np.exp(2)
t=Gauss(xx,yy,0,0,100)
scipy.misc.imsave('e6.bmp',t)
我不断得到以下错误:
TypeError:numpy boolean subtract,-
运算符已弃用,请改用按位异或、^
运算符或逻辑异或函数。你知道吗
我做错什么了?你知道吗
看来scipy.misc.imsave文件()不适用于布尔。您可以将布尔数据转换为整数,如下所示:
线路
如果上述不等式成立,则返回1(true),否则返回0。你知道吗
如果要将这些值设置为0,则应使用赋值:
相关问题 更多 >
编程相关推荐