问题标签 [homography]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2233 浏览

image-processing - 计算 OpenCV 的 findHomography 的目标点

编辑:我现在发现这个类似的问题有一个非常详细的答案:

透视变形矩形的比例


我正在使用 OpenCVfindHomography()warpPerspective()方法来“歪斜”一张纸的照片。我有这个在很大程度上工作,但我被困在一个细节上。

我不明白该怎么做的部分是计算要输入的最佳目标点集findHomography()。我知道我希望我的输出是矩形的,但我不知道矩形的宽高比。我还希望调整输出矩形的大小,以便在通过warpPerspective(). 我所拥有的只是形成要在源图像中转换的四边形的四个点。如何计算最佳大小的目标矩形?

0 投票
1 回答
1089 浏览

opencv - 我可以使用计算出的 Homography 将 2D 坐标从一台摄像机转换到另一台立体摄像机吗?

对不起,如果这听起来很愚蠢,但我真的需要问这个。

一旦计算出单应性,我可以使用它将在一个相机中检测到的物体中心的 2D 坐标投影到另一个立体相机作为 2D 坐标吗?

0 投票
1 回答
7820 浏览

opencv - 多摄像头图像拼接

我一直在运行一个从多个相机拼接图像的项目,但我认为我遇到了瓶颈......我对这个问题有一些疑问。

我想将来尝试将它们安装在车辆上,这意味着相机的相对位置和方向是固定的。

另外,由于我正在使用多个相机并尝试使用 HOMOGRAPHY 从它们中拼接图像,因此我将相机尽可能靠近,以便错误(由于相机的焦点不在同一位置和这是不可能的,因为相机占用了一定的空间。)可以减少。

这是我的一个简短的实验视频。 http://www.youtube.com/watch?v=JEQJZQq3RTY

如图所示,拼接结果非常糟糕......即使相机捕获的场景是静态的,单应性仍然保持变化。

以下链接是我到目前为止所做的代码,code1.png 和 code2.png 是显示我在 Stitching_refind.cpp 中的部分代码的图片。

https://docs.google.com/folder/d/0B2r9FmkcbNwAbHdtVEVkSW1SQW8/edit?pli=1

几天前我已经更改了代码中的一些内容,例如执行第 2、3 和 4 步(请检查上面提到的 2 张 png 图片),只需一次。


总结一下,我的问题是:

1. 在计算特征之前是否可以找出重叠区域? 我不想计算整个图像的特征,因为它会导致更多的计算时间和不匹配。我想知道是否可以仅在 2 个相邻图像的重叠区域中使用计算机特征?

2.如何使得到的单应性更准确? 有人谈到 CAMERA CALIBRATION 并尝试其他一些匹配方法。我还是计算机视觉的新手……我尝试研究一些有关相机校准的材料,但我仍然不知道它的用途。

大约 2 个月前,我在这里问了一个类似的问题: 使用 OpenCV 进行图像拼接时遇到一些困难

,其中一位回答者克里斯说:

听起来您这样做是明智的,但是如果您可以访问两个摄像头,并且它们彼此之间将保持静止,那么离线校准并简单地在线应用转换将使您的应用程序更有效率。

“离线校准”是什么意思?它有什么帮助?

感谢您的任何建议和帮助。

0 投票
0 回答
613 浏览

opencv - Homography rectangle looks distorted, as if the camera has a birds eye view

But the Markers are all correct, so I am wondering what kind of settings I could adjust to get the rectangle fit nicely around the image in the webcam view. I am using openCVsharp.

0 投票
0 回答
339 浏览

opencv - 帧间单应性错误

我正在使用帧间单应性来计算场景单应性并将图形可视化为由纯旋转和缩放相机捕获的视频。最终场景单应性(Hscene)计算为:Hscene = Hinterframe * Hscene;通过使用 OpenCV。我知道部分帧间单应性错误会导致累积错误。但是我有一些视频序列,其中出现了另一个错误。此错误还表现为可视化图形的漂移。当图形投影到图像边框时,漂移更加明显。第一个想法是镜头失真,但视频不包含任何失真。当我计算从初始帧到目标帧的直接单应性时,投影也没有漂移。

您知道是什么原因导致这种漂移以及如何消除它吗?

[EDITED 5.9.2012] 原因是镜头失真。可以从帧间特征点对应关系中估计它吗?

0 投票
3 回答
2887 浏览

c++ - findHomography 与 RANSAC 错误异常值

我正在使用 features2d(ORB、SIFT 等)进行一些对象检测

我正在使用 RANSAC 进一步研究单应性。我发现许多好点被错误地标记为异常值。

对象内部有很多不应该是异常值的异常值(书)

我尝试将阈值提高到 10,但结果几乎相同。我可以做些什么来改善这种情况吗?

RANSAC 有什么问题吗?

0 投票
2 回答
10819 浏览

matrix - 单应矩阵中的元素是什么意思?

我是图像处理的新手,但我正在使用 EMGU 进行 C# 图像分析。但是,我知道单应矩阵并不是 EMGU 独有的,所以也许有另一种语言知识的人可以更好地解释。

请(尽可能简化)有人可以解释每个元素的作用。我在网上查过了,但找不到我能正确理解的答案(正如我所说,我对这一切有点陌生!)

我分析了 2 张图像,都是 2 维的。因此需要一个 3x3 矩阵来解释图像的旋转/平移。如果没有检测到运动,则单应矩阵为:100, 010, 001

我从研究中知道(例如OpenCV Homography,Transform a point,这段代码在做什么?):10Tx,01Ty,XXX

10,01 位是 x 和 y 坐标的旋转。Tx 和 Ty 位是平移运动,但 XXX 位是什么?这是我不明白的?它与仿射变换有关吗?请有人解释一下: 1. 如果我目前在上面所说的内容是正确的。2. XXX 位是什么意思

0 投票
1 回答
1113 浏览

opencv - 使用计算单应性将 2D 点从标记投影到图像

我有一个平面标记,我在其中运行了SIFT算法来提取特征。然后我运行一个检测器在场景中找到这个标记并再次提取特征。我匹配点并使用 OpenCV 从匹配对中提取单应性findHomography()

现在我想用计算的单应性投影在标记中检测到的 2D 点,以将位置与从场景中测量的 3D 点进行比较并计算重投影误差。我对像素坐标、厘米、校准矩阵感到困惑,我不知道我应该先进行哪些转换。

有人知道这方面的链接或可以解释该方法吗?

0 投票
3 回答
6944 浏览

c++ - 用于 3D 重建的 OpenCV 未校准相机校正

我正在运行 OpenCV 2.4.2。

我的项目包括一个 3D 人脸识别。

我正在尝试从未经校准的相机拍摄的一对图像创建一个 3D 模型。
我的目标是获得一些用于识别过程的 3D 特征。

我正在尝试校准和校正相机,但没有得到好的结果。
我做了这些步骤:

  • 从 2 张图像中提取 SURF 特征
  • 发现 2 个图像特征之间的对应关系
  • 计算基本矩阵感谢findFundamentalMat
  • 用于stereoRectifyUncalibrated获取单应矩阵
  • warpPerspective与第一个图像和第一个单应矩阵一起使用以查看结果。

我得到了一个非常糟糕的结果,我现在不知道该怎么办......

那个算法对吗?有什么建议吗?

我可以使用什么样的 3D 功能来获得更好的人脸识别?

这里是校准代码:

0 投票
1 回答
947 浏览

opencv - 打开 CV Surf 并 FindExtrinsicCameraParams2

是否可以使用 FindExtrinsicCameraParams2 来获取姿势矩阵,而不是使用带有 SURF 特征检测的单应性分解?