📄 main.cpp
字号:
/*
最小二乘法的试验程序
Y = a * X + b
已知(X,Y)的三个采样点
求拟合直线的的参数a,b
*/
#include "cv.h"
#include <stdio.h>
#include <math.h>
#define PI 3.1415926
void main()
{
double *mx;
double *my;
double *mc;
mx = new double[3*3];
my = new double[3];
mc = new double[3];
CvMat Mx,My,Mc;
cvInitMatHeader(&Mx,3,3,CV_64FC1,mx);
cvInitMatHeader(&My,3,1,CV_64FC1,my);
cvInitMatHeader(&Mc,3,1,CV_64FC1,mc);
cvmSet(&Mx, 0, 0, 120);
cvmSet(&Mx, 0, 1, 120*120);
cvmSet(&Mx, 0, 2, 120*120*120);
cvmSet(&Mx, 1, 0, 160);
cvmSet(&Mx, 1, 1, 160*160);
cvmSet(&Mx, 1, 2, 160*160*160);
cvmSet(&Mx, 2, 0, 200);
cvmSet(&Mx, 2, 1, 200*200);
cvmSet(&Mx, 2, 2, 200*200*200);
cvmSet(&My, 0, 0, 0.841667-1);
cvmSet(&My, 1, 0, 0.925-1);
cvmSet(&My, 2, 0, 0);
cvSolve (&Mx,&My,&Mc,CV_SVD);
printf("a=%.20f\n",cvmGet(&Mc,0,0));
printf("b=%.20f\n",cvmGet(&Mc,1,0));
printf("c=%.20f\n",cvmGet(&Mc,2,0));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -