OpenCV图像拼接(1)概述

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

此图说明了在Stitcher类中实现的拼接模块流程。使用该类,可以配置/移除某些步骤,即根据特定需求调整拼接流程。流程中的所有构建块都可在detail命名空间中获得,可以单独组合和使用。

所实现的拼接流程与41中提出的非常相似。


拼接流水线

相机模型

当前在拼接流程中有两种相机模型被实现。

  • 单应性模型:期望图像间存在透视变换,实现在 cv::detail::BestOf2NearestMatcher、cv::detail::HomographyBasedEstimator、cv::detail::BundleAdjusterReproj 和 cv::detail::BundleAdjusterRay 中。
  • 仿射模型:期望具有6自由度或4自由度的仿射变换,实现在 cv::detail::AffineBestOf2NearestMatcher、cv::detail::AffineBasedEstimator、cv::detail::BundleAdjusterAffine、cv::detail::BundleAdjusterAffinePartial 和 cv::AffineWarper 中。

单应性模型对于创建由相机捕捉的照片全景图很有用,而基于仿射的模型可以用于拼接由专业设备捕捉的扫描件和物体。使用 cv::Stitcher::create 可以获得上述模型之一的预配置流程。

注意:

某些 cv::Stitcher 的详细设置可能没有意义。特别是你不应该混合使用实现仿射模型的类和实现单应性模型的类,因为它们处理的是不同的变换。

相关推荐
小白说大模型3 分钟前
Spring AI 框架中集成 MCP 的完整指南:从服务端到客户端的全流程实践
大数据·数据库·人工智能·安全·spring·chatgpt·开源
甲维斯4 分钟前
全TM草台班子,DSH毒瘤目录卡死OpenCode!
人工智能
Eloudy8 分钟前
用 OpenROAD 验证设计的 PPA(功耗、面积、性能)指标
人工智能·ai ic agent
weixin_4462608512 分钟前
拆解再复用:大模型智能体的跨任务技能迁移
人工智能·深度学习·算法
QC777LX13 分钟前
大模型、RAG、Agent和云平台方向,如何组合认证构建AI工程师的复合竞争力?
人工智能
WL_arm13 分钟前
Vibe Coding(氛围编程)入门
javascript·css·人工智能·html5
YH552698416 分钟前
ChatGPT Plus 与 OpenAI API 的区别:API Key、Token 和计费机制详解
人工智能·chatgpt
计算机魔术师18 分钟前
第二届世界人形机器人运动会开幕:2056 台机器人齐聚“冰丝带“,666 支队伍竞技 51 赛项
数据库·人工智能·机器人
飞猫的边缘AI28 分钟前
边缘AI-5: 了解最灵活的计算芯片FPGA
人工智能·fpga开发·ai芯片·边缘ai·计算芯片·边缘ai芯片·titanium edge