当前位置: 首页 > wzjs >正文

抚州网站制作长沙市人才网

抚州网站制作,长沙市人才网,个人网站介绍模板下载,网站常用字号需求 : 用C实现一堆离散的二维点拟合出来一条直线 理论 直线公式: a x b y c 0 axbyc0 axbyc0 随机选两个点,构造一般式直线: a x b y c 0 axbyc0 axbyc0 方向向量: d ( x 2 − x 1 , y 2 − y 1 ) d (…

需求 : 用C++实现一堆离散的二维点拟合出来一条直线

理论

直线公式:
a x + b y + c = 0 ax+by+c=0 ax+by+c=0

  1. 随机选两个点,构造一般式直线:
    a x + b y + c = 0 ax+by+c=0 ax+by+c=0

方向向量:
d = ( x 2 − x 1 , y 2 − y 1 ) d = (x2-x1,y2-y1) d=(x2x1,y2y1)
法向量:
n = ( − d y , d x ) n = (-d_y,d_x) n=(dy,dx)

在直线的“一般式方程”中:
ax+by+c=0
这个 (a,b) 实际上就是直线的法向量

也就是
a = y 2 − y 1 b = x 2 − x 1 c = − a x 1 − b y 1 a = y2-y1 \\ b= x2-x1\\c = -ax1-by1 a=y2y1b=x2x1c=ax1by1

  1. 计算所有点到直线的距离:

d i = ∣ a x i + b y i + c ∣ a 2 + b 2 d_i = \frac{|ax_i + by_i + c|}{\sqrt{a^2+b^2}} di=a2+b2 axi+byi+c

  1. 判断是否为内点(小于阈值)

  2. 重复若干次,选出包含最多内点的模型

若:

s 是一次采样所需点数(拟合直线是 2)
p 是样本中内点的比例
k 是需要的置信度(如 0.99)
则最少采样次数
N 应满足:

1 − ( 1 − p s ) N > = k = = > N > = l o g ( 1 − k ) 1 − P s 1 - ( 1 - p^{s} ) ^N >= k ==> N>= \frac{log(1-k)}{1-P^s} 1(1ps)N>=k==>N>=1Pslog(1k)

这可以根据实际数据调整迭代次数。

Code

//point2ds输入 iterations迭代次数 bestliner输出最佳的点数,besta,bestb,bestc 直线的参数
void testransac2D(std::vector<Eigen::Vector2d> point2ds, int iterations, int& bestliner, int& besta, int& bestb, int& bestc) {//生成随机数std::random_device rand;std::mt19937 gen(rand());std::uniform_int_distribution<> distribution(0, point2ds.size() - 1);for (int i = 0; i < iterations; i++) {int id1 = distribution(gen);int id2 = distribution(gen);if (id1 == id2) continue;Eigen::Vector2d point1 = point2ds[id1];Eigen::Vector2d point2 = point2ds[id2];//计算直线int a = point1.y() - point2.y();int b = point1.x() - point2.y();int c = -a * point1.x() - b * point1.y();double thr = 10.;int liner = 0;//计算直线距离 算出内点数量最多的那个for (auto& point : point2ds) {double dis = abs(a * point.x() + b * point.y() + c) / sqrt(a * a + b * b);if (dis < thr) {liner++;}}if (liner > bestliner) {bestliner = liner;besta = a;bestb = b;bestc = c;}}
}

文章转载自:

http://bK534DpK.dgcLy.cn
http://SLldAlcK.dgcLy.cn
http://Vm2rOyvy.dgcLy.cn
http://NXmJ2nSz.dgcLy.cn
http://9GEqm30e.dgcLy.cn
http://HuIPRlss.dgcLy.cn
http://9hgcdWSU.dgcLy.cn
http://JGnnLRbX.dgcLy.cn
http://XFeyZIIu.dgcLy.cn
http://hNV8XwVr.dgcLy.cn
http://sTr5TqWA.dgcLy.cn
http://p0CqAbBl.dgcLy.cn
http://Yhai5vM1.dgcLy.cn
http://nUcJptLQ.dgcLy.cn
http://Ib8B16z3.dgcLy.cn
http://n5mtikFo.dgcLy.cn
http://XBWJBH5q.dgcLy.cn
http://Gc3CeOZh.dgcLy.cn
http://RFSaL1sg.dgcLy.cn
http://VfsHv1QJ.dgcLy.cn
http://PgMzNYjP.dgcLy.cn
http://jzWKSMOZ.dgcLy.cn
http://4uthY4m7.dgcLy.cn
http://WDHl1zLC.dgcLy.cn
http://SPnPq4Vp.dgcLy.cn
http://9nAA2d5F.dgcLy.cn
http://RoFjD3eb.dgcLy.cn
http://N3F5NKzz.dgcLy.cn
http://AfiKv9DG.dgcLy.cn
http://dwXAbdgH.dgcLy.cn
http://www.dtcms.com/wzjs/772452.html

相关文章:

  • 做网站优化费用编程网站编程
  • asp网站的安全性东莞网站设计出名 乐云践新
  • 深圳专业建设网站wordpress获取分类列表和分页
  • 招商网站建设定做WordPress怎么批量上传图片
  • 站长网站被跳转怎么办西安楼市最新情况
  • 网站栏目内链怎么做云典wordpress
  • 农行网站不出动画怎么做少女心仙气手工
  • 河北工程大学网站开发成本团购网站APP怎么做
  • 企业网站的设计与实现论文淘宝关键词查询工具哪个好
  • 网站提示危险网站网站开发属于无形资产吗
  • 网站个人备案流程益阳在线官网
  • 东莞东城网站建设公司站长工具权重
  • 信阳网站建设公司谷歌seo2022
  • dedecms网站后台管理系统怎样网站建设与管理
  • 延边州住房城乡建设局网站在线设计平台的销售
  • 想做个网站怎么做福建建站公司
  • 最专业的网站建设团队网站建设 技术协议
  • 网站的标志是什么字体数据标签wordpress
  • 网站制作好如何上线网站批量修改
  • 佛山找企业的网站联盟文明网站建设有新
  • 做logo的ppt模板下载网站中铁建设集团企业门户
  • 国税网站模板网页制作作业下载
  • 网站案例上海400元做网站送网推
  • 域名解析服务器ip地址西安seo培训机构排名
  • 服装电子商务网站建设与实现seo数据统计分析工具有哪些
  • 网站开发liucheng平阳手机网站制作
  • 市文联网站建设模板网站会员
  • 装修怎么做网站视频拍摄器材
  • 微软网站开发工具有哪些ai绘制logo
  • 网站服务器 数据库服务器创网科技