cvSolve

求解线性系统或者最小二乘法问题
int cvSolve( const CvArr* src1, const CvArr* src2, CvArr* dst, int method=CV_LU );
src1
输入矩阵
src2
线性系统的右部
dst
输出解答
method
解决方法(矩阵求逆) :
CV_LU - 最佳主元选取的高斯消除法
CV_SVD - 奇异值分解法 (SVD)
CV_SVD_SYM - 对正定对称矩阵的 SVD 方法
函数 cvSolve 解决线性系统或者最小二乘法问题 (后者用 SVD 方法可以解决):
dst = argmin |src1*X -src2|
如果使用 CV_LU 方法。 如果 src1 是非奇异的,该函数则返回 1 ,否则返回 0 ,在后一种情况下 dst 是无效的。
例如解抛物线拟合的问题:
y = a*x*x + b*x +c
假设有三个点: A1(x1,y1),A1(x1,y1),A2(x3,y3)
a*x1*x1 + b*x1 + c = y1
a*x2*x2 + b*x2 + c = y2
a*x3*x3 + b*x3 + c = y3
A = [x1*x1     x1     1
         x2*x2     x2     1
         x3*x3     x3     1]
B = [y1
         y2
         y3]
X = [a
         b
         c]
AX = B
求解X 即可得出a, b, c
int     cvSolve(     const     CvArr*     src1,     const     CvArr*     src2,     CvArr*     dst,     int    method=CV_LU     );   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值