数字图像处理:关于插值、插补、数据点曲线拟合的想法

如何解决数字图像处理:关于插值、插补、数据点曲线拟合的想法

我有两组(x 和 y)浮点数据,它们构成了 2d 平面上的图形。 为了显示

enter image description here

我想连接点并插入任何“间隙”以使其成为如下所示的单行。请注意,这本身并不是围绕右边缘完美连接的。我没有重现这个的代码,但我知道涉及某种形式的三次插值:

enter image description here

我自己尝试过曲线拟合方法,但它没有给出我想要的结果:

enter image description here

关于我应该如何连接这些点的任何想法?以下是我迄今为止尝试过的代码和数据:

#library
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from scipy.integrate import quad
from scipy.optimize import fsolve
from scipy.interpolate import interp1d
from scipy.optimize import curve_fit


#my data: red_g[:,0],red_g[:,1]
p = np.polyfit(red_g[:,1],3)

xx= np.linspace(0,3,100)
yy= np.polyval(p,xx)

#curve fitting method
def poly(p,x):
    return p[0]*x**3 + p[1]*x**2 + p[2]*x + p[3]

plt.plot(red_g[:,'o')
plt.plot(xx,poly(p,xx),'-')


#my data
print(red_g[:,1])
(array([ 0.53435117,0.55979645,0.58524173,0.610687,0.6361323,0.45801526,0.48346058,0.66157764,0.6870229,0.43256998,0.7124682,0.7633588,0.7888041,0.8142494,0.33078882,0.8396947,0.86513996,0.3053435,0.27989823,0.89058524,0.25445294,0.9160305,0.22900763,0.94147587,0.20356235,0.96692115,0.17811705,0.99236643,1.0178118,0.15267175,1.043257,0.12722647,1.0687023,0.10178117,1.0941476,0.07633588,1.1195929,1.1450382,0.05089059,1.1704835,0.02544529,0.,-0.02544529,1.221374,-0.05089059,-0.07633588,-0.10178117,-0.12722647,1.3740458,1.3994911,1.4249364,-0.15267175,1.4503818,1.475827,1.5012723,-0.17811705,1.5267175,1.5521629,1.5776082,1.6030535,1.6284988,1.653944,-0.20356235,1.6793894,-0.22900763,1.7048346,1.7302799,1.7557253,1.7811705,1.8066158,1.832061,1.9592875,1.8575064,-0.25445294,1.9338423,2.0356236,2.0610688,2.086514,2.1119592,2.1374047,2.1882951,2.2137406,2.2391858,2.264631,2.2900765,-0.27989823,2.3155217,2.340967,2.3664122,2.4936388,2.442748,2.519084,2.5445292,2.5699747,2.59542,2.620865,2.6463106,3.053435,2.6717558,2.7226465,2.7480917,2.773537,2.7989821,2.9007635,3.0025446,3.0788805,3.2315521,3.307888,3.4096692,3.4605598,3.4351146,2.4173028,3.384224,2.3918576,2.4681935,1.8829517,2.697201,1.908397,2.010178,1.9847329,3.3587787,2.8498728,3.3333335,2.875318,2.9262087,2.951654,2.9770992,3.0279899,3.1043258,3.2569976,3.206107,3.1806617 ],dtype=float32),array([414.,414.,413.,412.,411.,410.,409.,408.,407.,406.,405.,404.,403.,402.,401.,400.,398.,397.,396.,395.,394.,392.,391.,390.,388.,387.,386.,385.,384.,383.,382.,381.,379.,378.,375.,374.,373.,372.,371.,370.,366.,365.,364.,363.,361.,360.,359.,358.,357.,353.,352.,351.,350.,349.,348.,347.,346.,345.,344.,343.,342.,341.,340.,339.,338.,337.,336.,334.,333.,332.,331.,330.,328.,326.,324.,322.,321.,320.,319.,317.,315.,314.,313.,312.,311.,310.,309.,308.,307.,306.,305.,303.,301.,300.,299.,298.,297.,295.,294.,293.,292.,291.,290.,289.,288.,287.,286.,285.,284.,283.,282.,281.,280.,279.,278.,277.,276.,275.,274.,273.,272.,271.,270.,269.,268.,267.,266.,265.,264.,263.,262.,261.,260.,259.,258.,257.,256.,255.,253.,252.,251.,250.,249.,248.,247.,246.,245.,244.,243.,242.,241.,240.,239.,238.,237.,236.,235.,234.,233.,232.,231.,229.,228.,227.],dtype=float32))
 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?