我有一组x和y坐标,它是曲线/形状,我想要使曲线/尖锐化并绘制图形。
我尝试了不同的插值来平滑曲线/形状,但是仍然不能满足我的期望。使用点绘制平滑的曲线/形状。
但是,我得到类似
我在样条插值和rbf插值方面也遇到麻烦。
对于cubic_spline_interpolation,我得到了
ValueError:输入数据错误
对于univariate_spline_interpolated,我得到了
ValueError:x必须严格增加
对于rbf,我得到了
numpy.linalg.linalg.LinAlgError:矩阵是单数。
我有办法修复它们并获得正确的锐利度和弯曲度。非常感谢您的帮助。
编辑 对于那些无法下载源代码和x,y坐标文件的人,我发布了相关代码和x,y坐标。
以下是我的代码:
#!/usr/bin/env python3
from std_lib import *
import os
import numpy as np
import cv2
from scipy import interpolate
import matplotlib.pyplot as plt
CUR_DIR = os.getcwd()
CIRCLE_FILE = "circle.txt"
CURVE_FILE = "curve.txt"
SQUARE_FILE = "square.txt"
#test
CIRCLE_NAME = "circle"
CURVE_NAME = "curve"
SQUARE_NAME = "square"
SYS_TOKEN_CNT = 2 # x, y
total_pt_cnt = 0 # total no. of points
x_arr = np.array([]) # …Run Code Online (Sandbox Code Playgroud)