Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >摄像机参数已知时的OpenCV图像缝合

摄像机参数已知时的OpenCV图像缝合
EN

Stack Overflow用户
提问于 2014-02-08 05:44:21
回答 2查看 2.5K关注 0票数 4

我们有从一架飞机上拍摄的照片,上面有50%的重叠,并且正在使用OpenCV拼接算法将它们缝合在一起。在我们的下一次迭代中,我们想了解一些额外的事情,我需要一些评论。

目前,拼接算法对摄像机参数进行估计。我们确实有相机参数和从飞机上获得的关于摄像机角度、位置(GPS)等的大量信息。相比于让算法根据匹配的特征点来估计一切,我们能从这些信息中获益吗?

这些图像是以高分辨率拍摄的,算法在这一点上占用了相当多的内存,这不是一个大问题,因为我们只是在云中旋转大型机器。但是我想在我们的下一次迭代中从下采样的图像中提取出同形图,然后将其应用于大的图像。这也将给我们更多的选择,以操作和可视化其他信息的原始图像,并能够返回和前进之间的原始图像和缝合图像。

如果我们在问题1中要分解拼接算法来输入已知的信息,那么它只是使用findHomography方法来获取信息,还是当我们知道平面位置、角度和摄像机参数时,是否有更好的选择来创建同调。

我对opencv有了一个基本的理解,并且对c++编程很好,所以编写我们自己的定制缝纫机并不是一个问题,但是这里的理论有点生疏。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-08 19:18:22

因为你在使用同音图来扭曲你的图像,我假设你所捕捉的区域足够小,所以你不必担心地球曲率效应。另外,我假设你不使用高程模型。

一般来说,您总是希望使用匹配的图像点来收紧您的(同形)模型,因为您的最终输出是一个拼接的图像。如果您有RAM和CPU预算,您可以使用最大似然估计来改进您的线性模型。

具有先验运动模型(例如来自GPS + IMU)可用于初始化特征搜索和匹配。通过对特征表观运动进行足够好的初始估计,您可以省去昂贵的特征描述符计算和存储,而只需进行标准化的互相关。

票数 2
EN

Stack Overflow用户

发布于 2014-02-09 02:53:04

如果我理解正确的话,图像是由已知数量的像素垂直拍摄和重叠的,在这种情况下,计算同形有点过火:你只是在谈论一个翻译矩阵,而使用更强大的算法只能给你带来坏的条件矩阵。

在2D中,如果H是一个表示透视变换的广义同形矩阵,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
H=[[a1 a2 a3] [a4 a5 a6] [a7 a8 a9]]

那么子矩阵R和T分别表示旋转和平移,如果是a9==1的话。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
R= [[a1 a2] [a4 a5]], T=[[a3] [a6]]

[a7 a8]表示每个轴的拉伸。(所有这些都有点近似,因为当所有的效果都出现时,它们就会相互影响)。

所以,如果你知道横向位移,你可以创建一个3x3矩阵,其中只有a3a6a9=1,并把它传递给cv::warpPerspectivecv::warpAffine

作为匹配正确性的标准,您可以,f.e.计算像素之间的归一化差异。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21646748

复制
相关文章
如何在Ubuntu上安装Buildbot
Buildbot是一个基于Python的持续集成系统,用于自动化软件构建,测试和发布。它使用Python的Twisted库来处理buildmaster和多个worker之间的异步通信,以便在多个平台上测试构建。Buildbot具有高度可配置性并且几乎可秒级应对构建过程,使其适用于复杂的构建过程或需要其工具随项目的独特需求而增长的项目。在本教程中,我们将在同一台机器上安装和配置Buildbot buildmaster和worker。
林岑影
2018/07/27
2.2K0
如何在Ubuntu上安装Docker?
Docker是一种流行的容器化平台,用于在不同的环境中快速部署和运行应用程序。它提供了一种轻量级和便捷的方式来封装、分发和管理应用程序及其依赖项。本文将详细介绍如何在Ubuntu上安装Docker,以便您能够开始使用Docker来构建和管理容器化的应用程序。
网络技术联盟站
2023/09/04
25.2K2
如何在Ubuntu上安装Docker?
如何在Ubuntu上安装Go
Go是由Google开发的编译的静态类型编程语言。许多现代应用程序,包括Docker,Kubernetes和Caddy,都是用Go编写的。本文将介绍如何在Ubuntu系统上安装GO语言开发运行环境。学习本文你需要一台已经设置好可以使用sudo命令的非root账号的服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费**的腾讯云开发者实验室进行试验,学会安装后在购买服务器。
何处惹尘埃
2018/08/17
1.7K0
如何在Ubuntu上安装Jenkins
Jenkins是一个开源自动化服务器,旨在自动执行持续集成和交付软件所涉及的重复技术任务。Jenkins是基于Java开发,可以从Ubuntu软件包安装,也可以使用ARchive(WAR)文件构成一个完整的Web应用程序,在服务器上运行。
宇cccc
2018/08/03
1.6K0
如何在Ubuntu上安装Jenkins
如何在Ubuntu上安装ionCube
ionCube是一个PHP模块扩展,可加载加密的PHP文件并加速网页。ionCube Encoder可以把PHP源代码转换成ByteCode。进行加密授权处理后的PHP代码就不在开源了,必须使用ionCube loader才可以执行加密过的PHP代码。PHP本身没有带有ionCube loader模块, 必须到ionCube网站下载。在本教程中,我们将在Ubuntu 16.04服务器上安装ionCube。
尘埃
2018/07/31
1.9K0
如何在Ubuntu上安装ionCube
如何在Ubuntu上安装ownCloud
ownCloud是一个自由且开源的个人云存储解决方案,包括两个部分:服务器和客户端。ownCloud 最早由KDE开发者Frank Karlitschek于2010年一月创建,目标是成为商业云服务提供商的替代。与商业云存储服务不同,ownCloud可以自由获取无需付费,但相应地,用户必须自行架设 ownCloud的服务器,这需要一点技术。在本教程中,我们将教你在Ubuntu 18.04服务器上安装和配置ownCloud服务器。
司徒永哥
2018/08/01
3.5K0
如何在Ubuntu上安装ownCloud
如何在Ubuntu上安装SELinux
Ubuntu有一个类似于SELinux的强制访问控制系统,名为AppArmor。SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。SELinux和AppArmor都提供了一组工具来隔离应用程序,以保护主机系统免受攻击。AppArmor为Ubuntu用户提供强制访问控制选项,没有SELinux可能遇到的困难或学习曲线效应。如果您想要切换到Ubuntu,已经熟悉SELinux并希望使用它来强制系统的安全性,您可以按照这个简短的教程安装它。
挺问中原
2018/08/16
12.5K2
如何在Ubuntu上安装MutliCraft
PS:本文撰写前已查询相关法律,本文内容不违反《互联网文化管理暂行规定》,遵守EULA协议,请勿举报。
宇cccc
2018/08/14
3K0
如何在Ubuntu上安装MutliCraft
如何在Ubuntu上安装MySQL/MariaDB
本教程面向Ubuntu服务器,适用于Ubuntu的任何LTS版本,包括Ubuntu 14.04,Ubuntu 16.04,Ubuntu 18.04,甚至非LTS版本(如Ubuntu 17.10和其他基于Ubuntu的发行版)。我们在Ubuntu 16.04服务器上测试了这个。
星哥玩云
2022/08/16
1.9K0
如何在Ubuntu 16.04上安装MongoDB
MongoDB是一个免费的开源NoSQL文档数据库,在现代Web应用程序中常用。本教程将帮助您在服务器上为生产应用程序环境设置MongoDB。
何处惹尘埃
2018/10/11
1.7K0
如何在 Ubuntu 20.04 上安装 MySQL
https://www.itcoder.tech/posts/how-to-install-mysql-on-ubuntu-20-04/
雪梦科技
2020/04/29
6.6K0
如何在 Ubuntu 20.04 上安装 MySQL
如何在 Ubuntu 20.04 上安装 Vagrant
本文最先发布在:https://www.itcoder.tech/posts/how-to-install-vagrant-on-ubuntu-20-04/
雪梦科技
2020/06/04
1.4K0
如何在 Ubuntu 20.04 上安装 Vagrant
如何在 Ubuntu 20.04 上安装 MariaDB
本文最先发布在:https://www.itcoder.tech/posts/how-to-install-mariadb-on-ubuntu-20-04/
雪梦科技
2020/05/22
3.7K0
如何在 Ubuntu 20.04 上安装 MariaDB
如何在 Ubuntu 20.04 上安装 Elasticsearch
Elasticsearch 是一个开源全文搜索和分析引擎。它支持 RESTful 操作,并且允许你存储,搜索,并且实时分析大量的数据。Elasticsearch是最流行的搜索引擎之一,可为具有复杂搜索要求的应用程序提供动力,例如大型电子商务商店和分析应用程序。
雪梦科技
2020/07/08
9.9K3
如何在 Ubuntu 20.04 上安装 TeamViewer
TeamViewer 是一个跨平台解决方案,它可以被用来进行远程控制,桌面共享,在线会议,以及计算机之间的文件传输。
雪梦科技
2020/06/30
5.8K0
如何在 Ubuntu 20.04 上安装 TeamViewer
如何在Ubuntu 18.04上安装Jenkins
Jenkins是一个开源自动化服务器,可以自动执行持续集成和交付软件所涉及的重复技术任务。Jenkins是基于Java的,可以从Ubuntu软件包安装,也可以通过下载和运行其Web应用程序存档(WAR)文件来安装 - 该文件是构成在服务器上运行的完整Web应用程序的文件集合。
吴凌云
2018/10/09
4.7K0
如何在Ubuntu 14.10 上安装WordPress?
WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也可以把  WordPress 当作一个内容管理系统( CMS )来使用。
星哥玩云
2022/07/04
5620
如何在Ubuntu 14.10 上安装WordPress?
如何在Ubuntu 16.04上安装Nginx
Nginx是世界上最受欢迎的网络服务器之一,负责托管互联网上一些规模最大,流量最高的网站。在大多数情况下,它比Apache更加资源友好,可以用作Web服务器或反向代理。
小皇帝James
2018/10/11
2.4K0
如何在 Ubuntu 20.04 上安装 Git
Git 是世界上最流行的分布式版本控制系统,它被众多的开源和商业项目所采用。它允许你和你的开发同事进行分工合作,跟踪你的代码变化,恢复前一个暂存区,创建分支等等。
雪梦科技
2020/05/11
8840
如何在 Ubuntu 20.04 上安装 Nginx
Nginx 发音 “engine x” ,是一个开源软件,高性能 HTTP 和反向代理服务器,用来在互联网上处理一些大型网站。它可以被用作独立网站服务器,负载均衡,内容缓存和针对 HTTP 和非 HTTP 的反向代理服务器。
雪梦科技
2020/05/11
2.1K0

相似问题

PHP:将特定的csv行读取到二维数组中

30

将文件读取到特定行php

30

PHP将txt从特定行读取到末尾。

24

将CSV中的特定列读取到阵列

31

特定CSV读滤波

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文