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

中国消防日/seo营销推广服务公司

中国消防日,seo营销推广服务公司,网站建设与管理 规划书,中小企业网站建设客户需求调查问卷方法1&#xff1a;感觉鲁棒性刚好些&#xff0c;但在两点拟合时出现 x1 无限接近 x2 或者 y1 无限接近 y2 时效果不好。 方法2&#xff1a;不存在方法1的问题&#xff0c;但是鲁棒性感觉不如方法1好。 FitLine1(std::vector<cv::Point2f> & SrcPts, MV_Line & …

方法1:感觉鲁棒性刚好些,但在两点拟合时出现 x1 无限接近 x2 或者 y1 无限接近 y2 时效果不好。

方法2:不存在方法1的问题,但是鲁棒性感觉不如方法1好。

FitLine1(std::vector<cv::Point2f> & SrcPts, MV_Line & DstLine)
{int nSize = SrcPts.size();if (nSize < 2)return;// 这里注意,为了提高精度,需要判断拟合的方向 X 方向还是 Y 方向double dMinX = SrcPts[0].x, dMaxX = SrcPts[0].x;double dMinY = SrcPts[0].y, dMaxY = SrcPts[0].y;for (int i = 0; i < nSize; i++){if (SrcPts[i].x < dMinX)dMinX = SrcPts[i].x;if (SrcPts[i].x > dMaxX)dMaxX = SrcPts[i].x;if (SrcPts[i].y < dMinY)dMinY = SrcPts[i].y;if (SrcPts[i].y > dMaxY)dMaxY = SrcPts[i].y;}int nType = 0;//0=X方向 1=Y方向if (abs(dMaxY - dMinY) > abs(dMaxX - dMinX))nType = 1;// 如果 X 方向直接复制,如果 Y 方向则颠倒 X Y 坐标顺序std::vector<cv::Point2f> Pts;if (nType == 0){for (int i = 0; i < nSize; i++){Pts.push_back(cv::Point2f(SrcPts[i].x, SrcPts[i].y));}}else{for (int i = 0; i < nSize; i++){Pts.push_back(cv::Point2f(SrcPts[i].y, SrcPts[i].x));}}// 最小二乘法拟合double A = 0;double B = 0;double C = 0;double D = 0;double E = 0;double F = 0;double a = 0;double b = 0;double c = 0; double dYmean = 0;for (int i = 0; i < Pts.size(); i++){A += Pts[i].x * Pts[i].x;B += Pts[i].x;C += Pts[i].x * Pts[i].y;D += Pts[i].y;}dYmean = D / nSize;E = Pts.size() * A - B * B;a = Pts.size() * C - B * D;b = (-1) * E;c = A * D - B * C;// 计算结果DstLine.A = a / b;DstLine.B = 1;DstLine.C = c / b;DstLine.Error = 0;// 调整方向if (nType == 1){DstLine.A = 1;DstLine.B = a / b;DstLine.C = c / b;}DstLine.SSR = 0;DstLine.SSE = 0;DstLine.SST = 0;DstLine.R = 1;if (DstLine.A == 0 || DstLine.B == 0)return;for (int i = 0; i < nSize; i++){double dY = DstLine.Get_k() * SrcPts[i].x + DstLine.Get_b();double dError = dY - SrcPts[i].y;DstLine.SSR += std::pow(dY - dYmean, 2);DstLine.SSE += std::pow(dError, 2);DstLine.Error += std::abs(dError);}DstLine.SST = DstLine.SSR + DstLine.SSE;DstLine.R = 1 - DstLine.SSE / DstLine.SST;
}
void FitLine2(std::vector<cv::Point2f> & SrcPts, MV_Line & DstLine)
{int size = SrcPts.size();if (size < 2)return ;double x_mean = 0;double y_mean = 0;for (int i = 0; i < size; i++){x_mean += SrcPts[i].x;y_mean += SrcPts[i].y;}x_mean /= size;y_mean /= size; //至此,计算出了 x y 的均值double Dxx = 0, Dxy = 0, Dyy = 0;for (int i = 0; i < size; i++){Dxx += (SrcPts[i].x - x_mean) * (SrcPts[i].x - x_mean);Dxy += (SrcPts[i].x - x_mean) * (SrcPts[i].y - y_mean);Dyy += (SrcPts[i].y - y_mean) * (SrcPts[i].y - y_mean);}if (Dxx == 0){DstLine.A = 1;DstLine.B = 0;DstLine.C = x_mean * (-1);}else if (Dyy == 0){DstLine.A = 0;DstLine.B = 1;DstLine.C = y_mean * (-1);}else{double lambda = ((Dxx + Dyy) - sqrt((Dxx - Dyy) * (Dxx - Dyy) + 4 * Dxy * Dxy)) / 2.0;double den = sqrt(Dxy * Dxy + (lambda - Dxx) * (lambda - Dxx));DstLine.A = Dxy / den;DstLine.B = (lambda - Dxx) / den;DstLine.C = (-1)*DstLine.A * x_mean - DstLine.B * y_mean;}DstLine.SSR = 0;DstLine.SSE = 0;DstLine.SST = 0;DstLine.R = 1;if (DstLine.A * DstLine.B == 0)return;for (int i = 0; i < size; i++){double dY = DstLine.Get_k() * SrcPts[i].x + DstLine.Get_b();double dError = dY - SrcPts[i].y;DstLine.SSR += std::pow(dY - y_mean, 2);DstLine.SSE += std::pow(dError, 2);DstLine.Error += std::abs(dError);}DstLine.SST = DstLine.SSR + DstLine.SSE;DstLine.R = 1 - DstLine.SSE / DstLine.SST;return ;
}

 

http://www.lbrq.cn/news/950725.html

相关文章:

  • 兵团建设环保局网站/网站建设关键词排名
  • 广州海珠做网站/网站推广的基本方法是
  • 宁波高端网站建设联系方式/百度关键词价格查询
  • 卡当网站建设/西安seo引擎搜索优化
  • 做搜索引擎网站/北京度seo排名
  • 南阳做网站公司哪家好/图片外链上传网站
  • wordpress文章页面添加广告/seo合作代理
  • 网站制作报价/九江seo公司
  • 如何在人力资源网站做合同续签/hao123上网从这里开始官方
  • 做昆特牌的网站/网站搜索优化官网
  • 优秀网页案例/东莞百度seo关键词优化
  • 网站制作上哪学校/百度推广官网网站
  • 可以发外链的网站或平台有哪些/seo是哪个英文的简写
  • 成都企业网站建设哪家专业/网站及搜索引擎优化建议
  • 招标网站哪个好/高质量发展服务业
  • 用struts2框架做的网站/长沙优化排名推广
  • 做外贸的物流网站/可以免费打开网站的软件
  • 农村建设集团有限公司网站/站长工具app下载
  • 淘客做的网站属于什么类型/北京网络营销推广外包
  • 学室内装潢设计哪个学校好/济南网站万词优化
  • 企业网站优化应该怎么做/杭州百度seo优化
  • 网站title keywords/长尾词挖掘工具
  • 专业做毕业设计网站设计/青岛模板建站
  • 高新区免费网站建设/时事政治2023最新热点事件
  • 高性价比网站建设/2345导航网址
  • 国内免费建站网站/杭州seo教程
  • 做网站骗/星巴克营销策划方案
  • 360网站安全检测/东莞网站建设推广
  • ps做电商网站流程图/百度网页排名怎么提升
  • 网站开发类型/百度上搜索关键词如何在首页
  • RabbitMQ03——面试题
  • 区块链之以太坊合约开发工具——Metamask钱包和Remix IDE
  • 装饰器模式分析
  • 复习博客:JVM
  • SVM(Support Vector Machine)从入门到精通
  • Dev-C++——winAPI贪吃蛇小游戏