我用库FyeldGenerator
生成两个高斯随机场。如果将它们绘制出来,就像这样:
from FyeldGenerator import generate_field
import matplotlib.pyplot as plt
import numpy as np
# Helper that generates power-law power spectrum
def Pkgen(n):
def Pk(k):
return np.power(k,-n)
return Pk
# Draw samples from a normal distribution
def distrib(shape):
a = np.random.normal(loc=0,scale=1,size=shape)
b = np.random.normal(loc=0,size=shape)
return a + 1j * b
shape = (512,512)
field_x = generate_field(distrib,Pkgen(3),shape)
field_y = generate_field(distrib,shape)
plt.imshow(field_x,cmap='seismic')
plt.show()
plt.imshow(field_y,cmap='seismic')
然后,我用quiver
的矢量字段使用matplotlib进行绘制。
现在,我想将图像应用于大小相同的随机字段(矢量字段)。我希望点(i,j)中的像素沿2D方向移动,如颤动函数所示。反正有做吗?
这是在matlab上完成的此问题的示例,但在3D模式下:
stackoverflow的链接:Applying a vector field to image in matlab