Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 薄板样条空间变换_Python_Spline_Coordinate Transformation - Fatal编程技术网

Python 薄板样条空间变换

Python 薄板样条空间变换,python,spline,coordinate-transformation,Python,Spline,Coordinate Transformation,您好,我想了解更多关于如何在python中创建薄板样条曲线的信息。我有两组四个坐标,我想用它们将图像扭曲成正确的形状。它包括水平翻转和翘曲。有人向我推荐了薄板样条,但谷歌搜索到目前为止并没有帮助我找到正确的框架。任何帮助都将不胜感激。这是坐标系的外观: import matplotlib.pyplot as plt x = [138, 150, 124, 88] y = [69, 115, 112, 127] n = [1,2,3,4] x_target = [305,359,768,998

您好,我想了解更多关于如何在python中创建薄板样条曲线的信息。我有两组四个坐标,我想用它们将图像扭曲成正确的形状。它包括水平翻转和翘曲。有人向我推荐了薄板样条,但谷歌搜索到目前为止并没有帮助我找到正确的框架。任何帮助都将不胜感激。这是坐标系的外观:

import matplotlib.pyplot as plt

x = [138, 150, 124, 88]
y = [69, 115, 112, 127]
n = [1,2,3,4]

x_target = [305,359,768,998]
y_target = [285,442,424,451]

plt.subplot(1,2,1)
plt.title('Source')
plt.grid()
plt.gca().invert_yaxis()
plt.scatter(x, y, marker='+', c='r', s=40)
for i, text in enumerate(n):
    plt.annotate(text, (1+x_disc[i], -1+y_disc[i]))
plt.subplot(1,2,2)
plt.title('Target')
plt.grid()
plt.gca().invert_yaxis()
plt.scatter(x_target, y_target, marker='+',c='b',s=40)
for i, text in enumerate(n):
    plt.annotate(text, (3+x_target[i], -3+y_target[i]))
plt.show()