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

网站各页面建网站设计

网站各页面,建网站设计,网站服务器 英文,宁夏干部网络教育培训学院操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 优化对应点的坐标。 cv::correctMatches 是 OpenCV 库中的一个函数,用于根据基础矩阵(Fundamental Matrix)校…
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

优化对应点的坐标。
cv::correctMatches 是 OpenCV 库中的一个函数,用于根据基础矩阵(Fundamental Matrix)校正两组匹配点。该函数通过最小化重投影误差来优化匹配点的位置,从而提高特征点匹配的准确性。

函数原型


void cv::correctMatches
(InputArray 	F,InputArray 	points1,InputArray 	points2,OutputArray 	newPoints1,OutputArray 	newPoints2 
)		

参数

  • 参数F:3x3 的基础矩阵。
  • 参数points1:包含第一组点的 1xN 数组。
  • 参数points2:包含第二组点的 1xN 数组。
  • 参数newPoints1:优化后的第一组点。
  • 参数newPoints2:优化后的第二组点。

该函数实现了最优三角化方法(详见《Multiple View Geometry》[115])。对于每个给定的点对应关系points1[i] <-> points2[i] 和一个基础矩阵 F,它计算校正后的对应关系 newPoints1[i] <-> newPoints2[i],以最小化几何误差 d ( p o i n t s 1 [ i ] , n e w P o i n t s 1 [ i ] ) 2 + d ( p o i n t s 2 [ i ] , n e w P o i n t s 2 [ i ] ) 2 d(points1[i], newPoints1[i])^2 + d(points2[i],newPoints2[i])^2 d(points1[i],newPoints1[i])2+d(points2[i],newPoints2[i])2(其中 d ( a , b ) d(a,b) d(a,b) 是点 a 和点 b 之间的几何距离),同时满足极线约束 n e w P o i n t s 2 T ⋅ F ⋅ n e w P o i n t s 1 = 0 newPoints2^T \cdot F \cdot newPoints1 = 0 newPoints2TFnewPoints1=0

使用场景

  • 立体视觉:在双目或多目视觉系统中,用于提高特征点匹配的精度。
  • 结构光扫描:在校正三维重建过程中使用的匹配点时非常有用。
  • 运动估计:在基于特征点的运动估计任务中,可以提高估计的准确性。

代码示例


#include <iostream>
#include <opencv2/opencv.hpp>int main()
{// 假设我们已经得到了基础矩阵 F 和两组匹配点 points1 和 points2cv::Mat F = ( cv::Mat_< double >( 3, 3 ) << 0.998, -0.062, 0.007, 0.062, 0.998, -0.05, 0.007, 0.05, 1.0 );// 定义一些匹配点std::vector< cv::Point2f > points1 = { cv::Point2f( 100, 150 ), cv::Point2f( 200, 250 ) };std::vector< cv::Point2f > points2 = { cv::Point2f( 105, 155 ), cv::Point2f( 205, 255 ) };// 创建输出容器std::vector< cv::Point2f > newPoints1;std::vector< cv::Point2f > newPoints2;// 优化对应点的坐标cv::correctMatches( F, points1, points2, newPoints1, newPoints2 );// 打印结果for ( size_t i = 0; i < newPoints1.size(); ++i ){std::cout << "Original Points: (" << points1[ i ].x << ", " << points1[ i ].y << ") -> (" << points2[ i ].x << ", " << points2[ i ].y << ")\n";std::cout << "Optimized Points: (" << newPoints1[ i ].x << ", " << newPoints1[ i ].y << ") -> (" << newPoints2[ i ].x << ", " << newPoints2[ i ].y << ")\n";}return 0;
}

运行结果

Original Points: (100, 150) -> (105, 155)
Optimized Points: (-39.0672, 88.7914) -> (146.107, 75.3975)
Original Points: (200, 250) -> (205, 255)
Optimized Points: (-46.7855, 188.856) -> (259.562, 81.6427)
http://www.dinnco.com/news/48624.html

相关文章:

  • 朋友要我帮忙做网站东莞百度推广优化
  • 域名注册服务商网站现在最火的发帖平台
  • 求做网站软文写作平台发稿
  • 做一个企业的网站怎么做的5g站长工具seo综合查询
  • 凡科一个注册做2个网站东莞seo建站如何推广
  • 记账凭证做网站摘要怎么写东莞关键词排名快速优化
  • 创办一个网站要多少钱最近三天的国际新闻大事
  • 今日头条开放api接口沧州seo推广
  • 上海网站改版服务网站域名查询ip地址
  • 网站建设与网站制作搜索引擎优化包括
  • 朝阳seoseo研究中心怎么了
  • 房地产排名前三十强排名seo优化教程自学
  • 厦门专业做网站百度官网首页登陆
  • 合肥的网站建设剂屏百度移动端关键词优化
  • 邹平县建设局网站在线工具
  • 优质的成都网站建设推广武汉大学人民医院洪山院区
  • 电子工程世界注册seo官网优化怎么做
  • 网站开发绑定qq如何让百度收录网址
  • 公安局松江分局网站百度收录网址
  • 官方网站开发模板seo优化排名易下拉软件
  • 建新建设集团有限公司网站国外市场网站推广公司
  • php做的网站怎么让外网访问电脑培训班多少费用
  • wordpress 恢复默认主题太原seo网站管理
  • 过年做那个网站能致富有做网站的吗
  • 网址的二级域名银徽seo
  • 云网站制作的流程图公司网站推广方法
  • 网站数据库是什么百度下载老版本
  • 网站建设报价网站建设报价单百度开户代理
  • 乐山 做网站百度网盘登陆入口
  • 自己做的网站打不开怎么回事疫情最新资讯