RANSAC 直线拟合算法

本文介绍了RANSAC(Random Sample Consensus)算法在直线拟合中的使用,详细阐述了算法的实现过程,并引用了相关文献作为理论支持。
摘要由CSDN通过智能技术生成

1. 参考文献

 

RANSAC 直线拟合算法

2. 算法实现

#include <iostream>
#include <random>
#include <vector>
#include <memory.h>
#include <set>
// Date: 2018-01-09
// Author: HSW
//

// RANSAC 直线拟合算法
// 其他的类似
//
using namespace std;

typedef struct st_Point
{
    double x;
    double y;
}st_Point;

// 基于RANSAC算法的直线拟合
// pstData: 指向存储数据的指针
// dataCnt: 数据点个数
// lineParameterK: 直线的斜率
// lineParameterB: 直线的截距
// minCnt: 模型(直线)参数估计所需的数据点的个数
// maxIterCnt: 最大迭代次数
// maxErrorThreshold: 最大误差阈值
// consensusCntThreshold: 模型一致性判断准则
// modelMeanError: 模型误差
// 返回值: 返回0表示获取最优模型, 否则表示未获取最优模型
int ransacLiner(st_Point* pstData, int dataCnt, int minCnt, double maxIterCnt, int consensusCntThreshold, double maxErrorThreshod, double& A, double& B, double& C, double& modelMeanError)
{
    default_random_engine rng;
    uniform_int_distribution&l
  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值