问题标签 [photogrammetry]
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.
python - 如何从两个图像中确定物体在表面上的距离?
我有一张物体在表面上的照片。该对象不固定在任何东西上。我知道球的尺寸。如果需要,我可以从不同角度拍摄同一场景的多张照片。
我环顾四周,发现了一些东西,但它们并不是我所需要的(或者我只是不知道如何将它应用于我的具体问题)。例如,Criminisi 的论文 Single View Metrology可以确定物体的高度,但(除非我误读)要求物体在地面上。
换句话说,在这样的图片中,是否可以确定球离地面多远?
java - 计算倾斜航空影像的坐标
我在无人机上使用 GoPro HERO 4 来捕捉需要地理参考的图像。理想情况下,我需要捕获的图像角相对于无人机的坐标。
我有相机的:
- 高度
- 水平和垂直视野
- 在所有 3 个轴上旋转
我找到了几个解决方案,但我不能完全按照我的目的翻译它们。我找到的最接近的是这里https://photo.stackexchange.com/questions/56596/how-do-i-calculate-the-ground-footprint-of-an-aerial-camera但我不知道如何如果我可以使用它。特别是当我必须同时考虑俯仰和滚动时。
感谢我得到的任何帮助。
编辑:我用 Java 编写我的软件。
3d - 从几张照片中获取 3d 模型
我想从已经拍摄的几张照片(例如,从电影中)获得一个 3d 模型(即使它不完美)。我会在电影中获得一些地方的帧,然后我想获得 3d 模型。
我搜索了一些工具,发现 Smoothie 3D 可以帮助您从照片创建模型,但它适用于例如松鼠,但如果房间里有两个演员并且他们正在移动,我会喜欢让房间和演员一样是 3d 的,但在分开的模型中,所以我可以为房间内的演员制作动画。
我也尝试过 photoscan,但如果演员在移动,它就不会太好用,因为它不知道应该得到什么模型(房间、演员的一种形状等)。
我正在考虑一些脚本来从所有框架中删除人,然后获取房间的 3d 模型,然后以某种方式获取演员的 3d 模型(我不知道如何)。
有谁知道更好的管道或工具可以做到这一点?或者也许任何深度学习算法可以让房间忽略移动的演员,而演员也一样?
opencv - 巨大的重投影误差用额外的 GPS 数据对立体对上的适当点进行三角测量
我正在使用基于 OpenCV 库的 2d-3d 算法解决 VSLAM 任务。现在我正在尝试使用 GPS 数据进行地理配准。我变换每个摄像机的 R,t,然后使用平凡函数对匹配点进行三角剖分
, 其中 kp1 和 kp2 - 左右图像上的关键点, P1, P2 - 投影矩阵
我遇到了一个奇怪的问题:当我通过一些巨大的常数对相机中心进行简单的移动时,我在旧的合适的三角点上出现了很大的重投影错误。点三角剖分的 SVD 分解对相机中心尺度敏感吗?
computer-vision - 如何在两个任意角度立体对之间执行密集匹配?
我有来自卫星两个轨道的立体声对。我试图在这些对之间生成密集的匹配点,以便我可以使用卫星地球几何的元素来估计 3D 世界坐标。
问题:哪种方法/方法可用于立体对的这种任意匹配(未校正,因此存在仅 x 视差)?
到目前为止: 1)我成功地使用了基于归一化互相关的分层图像匹配,它给出了很好的结果,但需要很多时间。
2)我已经尝试对未校准后获得的图像进行半全局匹配 - 校正。但是这种方法并没有很好的对应,虽然生成的视差图很好而且很平滑。此外,未经校准的整流是非常敏感的过程。
假设我没有任何相机参数。
编辑:1)图像由带有线传感器的推扫式模型拍摄。2)图像既没有地理参考也没有正射校正,它们只是经过辐射校正。
r - 在 rgl 中创建多个椭圆体以显示位置值的标准偏差
我有一个包含 13 个摄像头的数据集,每个摄像头位置被重建 5 次。我已将测量值汇总为与相机位置相关的 6 个变量 [X、Y、Z、Omega、Phi、Kappa] 的平均值和标准偏差。我想根据 XYZ 平均值绘制相机的位置,然后根据每个 XYZ 值的标准偏差值为每个位置创建一个椭球。(就像一个误差线,这也是可以接受的,但我的第一个目标是创建显示最大方差或误差方向的彩色椭圆体......对于这个例子,我使用标准偏差值。)
我rgl
用来绘制每个摄像机的平均位置,但我不确定如何通过另一个向量或列的值来改变每个绘制点的形状。
位置数据在这里汇总为平均值
pos.mean
标准差值为:
pos.sd
目前基本的3D情节可以这样看
有没有办法将点更改为彩色椭圆体,其中椭圆体的尺寸和颜色是根据每个点的标准偏差值构建的?
谢谢
python - 校准单摄像头时 RMS 值低,而 stereoCalibrate 时 RMS 值高
我正在尝试校准由两个相同的立体设置组成Canon EOS60D
,我将使用它来进行摄影测量。为了校准相机,我使用了高精度circlegrid
模板。我能够使用 检测圆的中心点cv2.findCirclesGrid
,并且能够很好地校准单个相机。当我尝试使用cv2.stereoCalibrate
OpenCV 中的功能校准两个相机时,问题就来了。我将阐明所采取的步骤,并发布一些带有输出的代码片段。如果有人能指出我做错了什么,我将不胜感激。
脚步
1) 第一步是使用cv2.findCirclesGrid
OpenCV 中的函数检测圆形网格图案。
2)然后使用从每个摄像头检测到的网格图案,我cv2.calibrateCamera
用来获取摄像头矩阵和两个摄像头的失真系数。
3)在获得两个相机的相机矩阵和失真系数后,我将它们传递给cv2.stereoCalibrate
函数。
输出
校准左相机后的输出如下
校准右相机后的输出如下
从上面的输出可以看出,两者的返回值cv2.calibrateCamera
都是合理的。
校准立体声设置后的输出如下
但是立体校准的返回值太高了。
参数
我使用的标志和标准cv2.stereoCalibrate
如下
flags = cv2.CALIB_FIX_INTRINSIC
criteria = cv2.TERM_CRITERIA_MAX_ITER + cv2.TERM_CRITERIA_EPS, 1000, 1e-6
如果有人能指出我做错了什么,我将不胜感激。
opencv - 校准数码单反相机时的对焦问题
我使用 2 CANON EOS60d
s 作为立体声设置来做Photogrammetry
。我正在使用OpenCV
高精度Circlegrid
校准模式校准两个相机。我正在使用信号发生器同时触发两个相机,之前我尝试使用 Gphoto2 来触发它们,但有一点时间延迟,所以我依靠信号发生器来触发它们。
校准中的问题是,即使我稍微移动模式,相机也会失去焦点,所以我得到的结果不正确,因为我没有在帧之间移动太多模式(我们必须覆盖相机的整个视野在校准中,所有的欧拉角都应该改变)。为了防止它,我必须增加光圈以增加两个相机的 DOF(景深),这进一步导致我降低快门速度。降低快门速度的问题是,如果校准图案移动,会导致图片抖动。
如果有人有校准数码单反相机的经验,并且可以给我一些关于校准的想法,我将不胜感激。
colors - 3DS max中的纹理颜色校正矩阵
我在 maxscript 中加载一个 .obj 文件,如下所示:
我有一个颜色校正矩阵,我需要将其应用于 .obj 文件(在 .mtl 文件中)附带的纹理,颜色校正矩阵描述为:
或为了简化
我只能在这里通过 GUI 找到颜色校正,但这并没有指定矩阵,也没有显示如何在 maxscript 中进行。此外,这将应用于相机(我猜)而不是纹理,在光线等被渲染之前。
对象。AutoCAD 3Dscanexport 通过摄影测量渲染文件,该方法目前对摄影测量拍摄的图像进行颜色校正。但是,我想知道在渲染到 .obj / .mtl 文件并使用 maxscript 加载到 3ds max 之后是否可以执行此操作?