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 的详细设置可能没有意义。特别是你不应该混合使用实现仿射模型的类和实现单应性模型的类,因为它们处理的是不同的变换。

相关推荐
threelab1 小时前
07.three官方示例+编辑器+AI快速学习webgl_buffergeometry_attributes_integer
人工智能·学习·编辑器
背太阳的牧羊人1 小时前
tokenizer.encode_plus,BERT类模型 和 Sentence-BERT 他们之间的区别与联系
人工智能·深度学习·bert
学算法的程霖2 小时前
TGRS | FSVLM: 用于遥感农田分割的视觉语言模型
人工智能·深度学习·目标检测·机器学习·计算机视觉·自然语言处理·遥感图像分类
博睿谷IT99_2 小时前
华为HCIP-AI认证考试版本更新通知
人工智能·华为
一点.点3 小时前
SafeDrive:大语言模型实现自动驾驶汽车知识驱动和数据驱动的风险-敏感决策——论文阅读
人工智能·语言模型·自动驾驶
concisedistinct3 小时前
如何评价大语言模型架构 TTT ?模型应不应该永远“固定”在推理阶段?模型是否应当在使用时继续学习?
人工智能·语言模型·大模型
找了一圈尾巴3 小时前
AI Agent-基础认知与架构解析
人工智能·ai agent
jzwei0233 小时前
Transformer Decoder-Only 参数量计算
人工智能·深度学习·transformer
小言Ai工具箱3 小时前
PuLID:高效的图像变脸,可以通过文本提示编辑图像,通过指令修改人物属性,个性化文本到图像生成模型,支持AI变脸!艺术创作、虚拟形象定制以及影视制作
图像处理·人工智能·计算机视觉
白熊1883 小时前
【计算机视觉】基于深度学习的实时情绪检测系统:emotion-detection项目深度解析
人工智能·深度学习·计算机视觉