我有一个1D数组,我想绕其中心旋转以生成对称2D数组。我该怎么做?例如,我通过scipy定义了一个1D窗口阵列,现在我想生成具有旋转对称性的2D版本。但是,结果numpy.outer
不具有旋转对称性。
from scipy.signal import windows
import matplotlib.pyplot as plt
exp1 = windows.get_window(('exponential', None, 5), 60)
exp2d = np.sqrt(np.outer(exp1, exp1))
plt.imshow(exp2d)
我意识到,如果一维窗口具有解析形式,则操作很简单。但是,对于不带解析形式的任意一维数组(函数),是否有一些通用方法?
是的,可以这样做。这是一种可能的方法:
生成像这样的“半径”图像,其中在每个点上,像素值是其距中心的距离:
评估f(radius)
,哪里f
是一维函数。例如:
或者,如果你有一维数组,而不是一个功能,它插例如用scipy.interpolate.interp1d像f = interpolate.interp1d(x, y)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句