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

相关推荐
在书中成长1 分钟前
HarmonyOS 小游戏《对战五子棋》开发第33篇 - AI异步落子与setTimeout
人工智能·harmonyos
2601_955759625 分钟前
code0 gpt-image-2 场景相关:广告投放素材快速生成流程
人工智能·gpt
方华世界13 分钟前
企业级Java AI Agent应用平台
java·开发语言·人工智能
aqi0016 分钟前
15天学会AI应用开发(十三)上下文与RAG的阶段性总结
人工智能·python·大模型·ai编程·ai应用
m沐沐22 分钟前
【深度学习】dlib 人脸关键点实时疲劳检测
人工智能·深度学习·计算机视觉·疲劳检测·关键点检测·人脸检测·dlib
一个处女座的程序猿26 分钟前
AI之Tool:Flint(酷炫可编辑图表)的简介、安装和使用方法、案例应用之详细攻略
人工智能·chart·flint
阿演30 分钟前
DataDjinn v0.2.11:SQL 编辑、AI 协作和表格操作继续打磨
数据库·人工智能·sql
私人珍藏库36 分钟前
[Android] PocketPal -本地离线AI助手+大模型部署神器
android·人工智能·app·软件·多功能
止语Lab37 分钟前
「诚实」是新的「聪明」——Claude 4.8 对 AI 评价体系的三重追问
人工智能