使用Matlabcftool工具箱对图像进行拟合

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用Matlab cftool工具箱对图像进行拟合

Matlab提供了强大的工具箱系统,利用工具箱进行各种操作简单快捷。

此处介绍使用cftool(Curve Fitting Tool)进行图像拟合操作。网上有很多关于图像拟合的代码,但是如果照着运行不是上传代码的通知有所保留,就是环境不同无法运行,即使千方百计做出来,也难以举一反三,攻克其他的难题。使用cftool工具箱的流程如下:假定对X-Y坐标下的一组散点进行拟合,如

A=[4 5 9 15 17 29 40 50 79];

B=[14 19 39 40 70 100 140 290 400];

在Command界面输入如下两组数组,A代表X坐标的数值,B代表Y坐标下的数值。

输入cftool回车。如图:

可以打开cftool主界面

单击Data选项框,设定X Data为A,Y Data为B,如图:

可见Preview栏中自动绘制出了散点图。并且选择Create data set选项框,此时散点图会被复制到

cftool主界面中。单击Fitting选项框,弹出Fitting界面,在Fitting Editor选项框中选择New Fit。如图产生如下效果:

此处只需按照需求更改Type of fit以及下面备选框中的曲线名称。Type of fit中有如下选项:Polynomial(线性拟合),Exponential(指数函数拟合),Fourier(傅里叶函数拟合)等等。此处先选择Polynomial一次线性拟合。在备选框中选择linear Polynomial。单击Apply。返回cftool主界面,会产生如下效果:拟合成的曲线被绘制为红色,大功告成。

在Fitting界面中的Results框图中,可看到如下结果:

Linear model Poly1:

f(x) = p1*x + p2

Coefficients (with 95% confidence bounds):

p1 = 5.267 (4.236, 6.298)

p2 = -21.57 (-58.93, 15.79)

Goodness of fit:

SSE: 6633

R-square: 0.9542

Adjusted R-square: 0.9477

RMSE: 30.78

给定了函数的参数,即拟合函数为f(x) = 5.267*x -21.57。

Goodness of fit意思为拟合度。R-square意思为函数相关系数的平方,Adjusted R-square意思为系统调整后的相关系数。RMSE为均方根误差。此处R-square值越接近1,表示取下拟合程度越高,反之拟合状况越差。想得到较高的拟合度可以改变Type of fit 以及备选框中的曲线名称,一一进行拟合,选取拟合程度最高的曲线。

如选择Exponential下的a*exp(b*x)曲线类型,操作如上得到如下图像和拟合值:

General model Exp1:

f(x) = a*exp(b*x)

Coefficients (with 95% confidence bounds):

a = 46.07 (15.24, 76.9)

b = 0.02815 (0.01843, 0.03788)

Goodness of fit:

SSE: 1.496e+004

R-square: 0.8967

Adjusted R-square: 0.882

RMSE: 46.24

(注:素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注!)

相关文档
最新文档