问题标签 [projective-geometry]
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.
opencv - 多视图几何
我从两个相同品牌的相机拍摄的两张图像相距一定距离,捕捉相同的场景。我想计算两个相机之间的真实世界旋转和平移。为了实现这一点,我首先提取了两幅图像的 SIFT 特征并进行匹配。
我现在有基本矩阵和单应矩阵。然而无法继续前进,很多混乱。谁能帮我估计两个相机之间的旋转和平移?
我正在使用 OpenCV 进行特征提取和匹配、单应性计算。
video - 图像平面和透视变换/相机稳定
最近我一直在研究图像处理的几何学。我想要完成的是:
想象一个场景有两张照片。我想将第二张图片转换为第一张图片。我想恢复第二张照片的透视,以第一张照片为参考。
但是,我的问题是关于空间的。我了解到透视变换是一种投影变换,映射平面的特殊情况是欧几里得。
我想问一下图像平面是否是欧几里得?我认为它具有齐次坐标,因为当我使用 open cv 执行转换时,我会使用 x 向量,例如 (x,y,1)。我对欧几里得空间和射影空间的定义感到非常困惑。
两个平面的坐标是否齐次?我应该使用哪种转换来稳定旋转相机?
即使我认为我的问题令人困惑,但是,我很困惑......
提前致谢。
opencv - 如何在opencv中使用矩阵R和T(外部参数矩阵)转换图像?
我有一个旋转平移矩阵 [RT] (3x4)。
opencv 中是否有执行 [RT] 描述的旋转平移的函数?
opencv - 来自非中心位置的球坐标
假设一个以 (cx,cy,cz) != (0,0,0) 为中心的针孔相机,是否有一种更有效的方法来计算它在以原点为中心的球坐标系中的投影,而不是执行射线-球面相交每个像素?
如果相机以原点为中心,那么简单的解决方案将是:
3d - 投影几何:如何将 3D 中的矩形投影转换为 2D 视图
所以问题是我有一个矩形的 3D 投影,我想把它变成 2D。那就是我有一张放在桌子上的纸的照片,我想将其转换为该纸的 2D 视图。所以我需要的是通过还原所有 3D/投影变换并从顶部获得一张平面视图来获得一个不失真的 2D 图像。我碰巧找到了关于这个主题的一些方向,但他们没有建议立即说明如何实现这一点。获得有关需要做什么的分步说明会非常有帮助。或者,或者,链接到将其分解为小细节的资源。
image-processing - 使用单应性描述两个图像之间的非线性变换
两个图像上的蓝点之间已经建立了一对一的匹配。image2 是 image1 的变形版本。失真模型似乎是鱼眼镜头失真。问题是:有没有办法计算一个描述这种转变的变换矩阵。实际上是将第一张图像上的蓝点转换为第二张图像上对应的蓝点的矩阵?这里的问题是我们不知道焦距(意味着图像未校准),但是我们确实在两张图像上的大约 200 个点之间完美匹配。 扭曲的图像:
matlab - 如何找到从两个不同相机捕获的同一场景的两个图像中提取的两组独立特征之间的匹配?
我需要找到从两个不同相机捕获的同一场景的两个图像中提取的两组独立特征之间的匹配。我正在使用 HumanEvaI 数据集,所以我有相机的校准矩阵(在本例中为 BW1 和 BW2)。
我不能使用简单相关、SIFT 或 SURF 之类的方法来解决问题,因为相机彼此相距很远并且还旋转。所以图像之间的差异很大,也有遮挡。
我一直专注于根据我已经拥有的校准信息而能够构建的地面实况点匹配来寻找捕获的图像之间的 Homography。一旦我有了这个单应性,我将使用完美匹配(匈牙利算法)来找到最佳对应关系。这里单应性的重要性在于我必须计算点之间的距离。
到目前为止一切似乎都很好,我的问题是我无法找到一个好的单应性。我已经尝试过 RANSAC 方法、具有 sampson 距离的黄金标准方法(这是一种非线性优化方法),并且主要来自 Richard Hartley 的《计算机视觉中的多视图几何》第二版一书中的所有内容。
到目前为止,我已经在 matlab 中实现了所有内容。
还有另一种方法可以做到这一点吗?我在正确的道路上吗?如果是这样,我可能做错了什么?
matlab - MATLAB:射影变换
我有一张图片
我想通过像这样将其移回来获得投影变换:
但我能看到的唯一结果是:
我找不到我的错误。我的代码(A - 我要转换的图片):
graphics - 对齐相机的观察方向以查看特定方向
我正在使用点云和多个图像。我知道相机的内在和外在参数。我想要的是找到旋转矩阵,它将旋转我的相机(不改变位置)以在某个方向上查看。更具体地说,我会将平面拟合到点云,然后我想将相机的观察方向对齐以垂直于平面查看(不改变其位置)。
因此,给定相机的旋转矩阵,我也会找到图像的单应变换。
请有人帮我解决这个问题。
geometry - 以给定半径为中心点计算地球上的正方形边界
我正在尝试计算具有特定半径的正方形的边界,并且当正方形的中心已知时(经度,纬度)。但我遇到了麻烦。
我尝试从这里使用 hasrsine 公式:
但是当半径很大时,我会遇到麻烦。
目前找到1)。我使用的以弧度表示的纬度增量:
- radiusInMeters / EARTH_RADIUS_METERS
2)。我使用的弧度经度增量:
- 2.0 * | arcsin( |sin(radiusInMeters/(EARTH_RADIUS_METERS*2.0)) / |cos(latitudeStart)| | ) |
我从haversine公式得到的这些公式。
请有人指出我的确切通用计算公式,这对我的情况来说对大小距离都有好处。
另外,当半径超过经度-180˚/180˚或纬度-90˚/90˚时,应该如何处理?
更新
一些澄清。假设我停留在坐标为 (lon, lat) 的某个特定点,其中 lon 是 -113˚ 和 lat 50˚。
我想从数据库中查询某个感兴趣半径内的点。为此,我需要计算“正方形”的边界。(然后过滤掉不在有趣范围内的东西)。上面的公式在小距离上运行良好(假设'直到 100 公里(63 英里)。但是我从赤道点到两极的距离越多,我得到的舍入误差就越多。)
提前致谢