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

徐州seo顾问班级优化大师怎么用

徐州seo顾问,班级优化大师怎么用,网站建设招聘信息,凡科做的免费网站操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 拟合一条直线到3D点集。 该函数通过最小化 ∑iρ(ri) 来将一条直线拟合到3D点集,其中 ri 是第 i 个点与直线之间的距离,…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

拟合一条直线到3D点集。

该函数通过最小化 ∑iρ(ri) 来将一条直线拟合到3D点集,其中 ri 是第 i 个点与直线之间的距离,ρ® 是距离函数,可以是以下之一:

  • DIST_L2

    ρ ( r ) = r 2 / 2 (最简单且最快的最小二乘法) \rho (r) = r^2/2 \quad \text{(最简单且最快的最小二乘法)} ρ(r)=r2/2(最简单且最快的最小二乘法)

  • DIST_L1

    ρ ( r ) = r \rho (r) = r ρ(r)=r

  • DIST_L12

ρ ( r ) = 2 ⋅ ( 1 + r 2 2 − 1 ) \rho (r) = 2 \cdot ( \sqrt{1 + \frac{r^2}{2}} - 1) ρ(r)=2(1+2r2 1)

  • DIST_FAIR

    ρ ( r ) = C 2 ⋅ ( r C − log ⁡ ( 1 + r C ) ) where C = 1.3998 \rho \left (r \right ) = C^2 \cdot \left ( \frac{r}{C} - \log{\left(1 + \frac{r}{C}\right)} \right ) \quad \text{where} \quad C=1.3998 ρ(r)=C2(Crlog(1+Cr))whereC=1.3998

  • DIST_WELSCH

    ρ ( r ) = C 2 2 ⋅ ( 1 − exp ⁡ ( − ( r C ) 2 ) ) where C = 2.9846 \rho \left (r \right ) = \frac{C^2}{2} \cdot \left ( 1 - \exp{\left(-\left(\frac{r}{C}\right)^2\right)} \right ) \quad \text{where} \quad C=2.9846 ρ(r)=2C2(1exp((Cr)2))whereC=2.9846

  • DIST_HUBER

ρ ( r ) = { r 2 / 2 if  r < C C ⋅ ( r − C / 2 ) otherwise \rho(r) = \begin{cases} r^2/2 & \text{if } r < C \\ C \cdot (r - C/2) & \text{otherwise} \end{cases} ρ(r)={r2/2C(rC/2)if r<Cotherwise

该算法基于M估计器(http://en.wikipedia.org/wiki/M-estimator)技术,使用加权最小二乘法迭代地拟合直线。每次迭代后,权重 wi 被调整为与 ρ(ri) 成反比。

注意:

函数文本ID为 “org.opencv.imgproc.shape.fitLine3DMat”
在给定N维点集的情况下,Mat应该是二维的,如果有N个通道,则应有单行或单列;如果只有单个通道,则应有N列。

函数原型

GOpaque<Vec6f> cv::gapi::fitLine3D 	
(const GMat &  	src,const DistanceTypes  	distType,const double  	param = 0.,const double  	reps = 0.,const double  	aeps = 0. 
) 		

参数

  • 参数 src 输入3D点集存储在下列容器之一:Mat, std::vectorcv::Point3i, std::vectorcv::Point3f, std::vectorcv::Point3d。
  • 参数 distType M估计器使用的距离,参见DistanceTypes。DIST_USER和DIST_C不被支持。
  • 参数 param 某些类型距离的数值参数©。如果是0,则选择最优值。
  • 参数 reps 对于半径(坐标原点与直线之间的距离)的足够精度。1.0是一个好的默认值用于reps。如果是0,则选择默认值。
  • 参数 aeps 对于角度的足够精度。0.01是一个好的默认值用于aeps。如果是0,则选择默认值。

返回值:

输出直线参数:一个包含6个元素的向量(如Vec6f)- (vx, vy, vz, x0, y0, z0),其中(vx, vy, vz)是平行于直线的归一化向量,(x0, y0, z0)是直线上的一个点。

代码示例

#include <iostream>
#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp>
#include <opencv2/gapi/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>  // 确保包含这个头文件以获取RNG定义using namespace cv;
using namespace cv::gapi;int main()
{// 假设我们有一个包含三维点的容器,这里用vector<Point3f>表示std::vector< Point3f > points3D = {{ 1.f, 2.f, 3.f }, { 4.f, 5.f, 6.f }, { 7.f, 8.f, 9.f },// 添加更多点...};// 将三维点转换为适合G-API的格式Mat pointsMat( points3D );// 创建G-API网络cv::GMat in;auto lineParams = gapi::fitLine3D( in, DIST_L2, 0., 0.01, 0.01 );// 定义输出变量Vec6f fittedLine;// 运行G-API计算图cv::GComputation cc( GIn( in ), GOut( lineParams ) );cc.apply( cv::gin( pointsMat ), cv::gout( fittedLine ), compile_args( gapi::kernels<>() ) );// 打印拟合的直线参数std::cout << "Fitted Line Parameters: " << fittedLine << std::endl;// 输出结果解释:// fittedLine[0], fittedLine[1], fittedLine[2] 表示直线的方向向量 (vx, vy, vz)// fittedLine[3], fittedLine[4], fittedLine[5] 表示直线上的一点 (x0, y0, z0)return 0;
}

运行结果

Fitted Line Parameters: [0.57735, 0.57735, 0.57735, 4, 5, 6]
http://www.cadmedia.cn/news/8845.html

相关文章:

  • 网站建设博采网站建设百度推广
  • 淘宝网站建设违规吗产品如何推广市场
  • 能用的手机网站河南今日重大新闻
  • 啄木鸟网站建设关键词排名优化工具有用吗
  • 可以自己做免费网站吗南京百度seo代理
  • 常州工程建设交易网免费seo网站推广
  • 咖啡网页制作素材河北百度seo点击软件
  • 唐山高端网站建设网站推广专家
  • 营销型网站建设试题seo什么意思
  • 网站建设多少钱一个平台深圳百度关键词排名
  • 怎么做自动跳转网站怎么建立网站平台
  • 九江网页设计公司东莞优化怎么做seo
  • 中国建设监理协会官方网站谷歌浏览器官网下载
  • 微信公众号平台官网首页2020 惠州seo服务
  • 网站建设一般要多钱seo优化外包顾问
  • 重庆网站建网络营销公司有哪些
  • 现在建设网站赚钱吗网络营销推广外包服务
  • 乌鲁木齐市建设厅网站如何快速推广自己的网站
  • 帮人做ppt的网站北京企业网络推广外包
  • 重庆网站建设及优化中国十大外贸平台
  • 淮南网站建设百度搜索seo优化技巧
  • 营销型网站建设申请域名时公司类型的域名后缀一般是优化的意思
  • 郑州市建设安全管理协会网站大连网站排名推广
  • 做网站需多少钱在线排名优化
  • 平台搭建图片网络推广运营优化
  • 江苏省建设培训网站百度网站收录提交入口
  • 推广网站联盟太原百度快速优化排名
  • 东莞整合网站建设公司网站推广关键词工具
  • 运城市住房与城乡建设厅网站上海网站快速排名优化
  • 上海网站制作全包百度广告开户