基于Opencv的平面拟合 C++实现。 您所在的位置:网站首页 平面拟合和曲面拟合 基于Opencv的平面拟合 C++实现。

基于Opencv的平面拟合 C++实现。

2024-07-18 08:33| 来源: 网络整理| 查看: 265

最小二乘平面拟合。

假设有n多个点,我们需要对这n多个点进行平面拟合,我们会考虑采用最小二乘法去拟合这个平面。 下面我们介绍以下最小二乘拟合平面的原理: 在这里插入图片描述在这里插入图片描述从推导过程分析,我们只需要计算出所有点的系数矩阵,然后等式同时左乘系数矩阵的逆,我们便能很容易的计算出a,b,c

C++实现:

实现思路:(此处随机以一个已知平面生成了一个平面点集) 1.首先初始化一个系数矩阵和结果矩阵。 2.判断系数矩阵是否为奇异阵 3.求逆,计算结果

//作者:dwy //日期:2019/07/09 //用途:最小二乘拟合平面 #include #include #include using namespace std; using namespace cv; void creatTestData(vector &output) { RNG rng(12345); int a = 10; int b = 2; int c = 5; cout Mat dst = Mat(3, 3, CV_32F, Scalar(0));//初始化系数矩阵A Mat out = Mat(3, 1, CV_32F, Scalar(0));//初始化矩阵b for (int i = 0;i cout cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有