问题标签 [3d-reconstruction]
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 - 真实比例的 3D 重建
我正在做一个项目来检测物体的 3D 位置。我在房间的两个角落设置了两个摄像头,我已经获得了它们之间的基本矩阵。这些相机经过内部校准。我的图像是 2592 X 1944
K = [1228 0 3267 0 1221 538 0 0 1]
F = [-1.098e-7 3.50715e-7 -0.000313 2.312e-7 2.72256e-7 4.629e-5 0.000234 -0.00129250 1]
现在,我该如何进行,以便给定空间中的 3D 点,我应该能够在图像上获得与房间中相同对象相对应的点。如果我能获得正确的投影矩阵(具有正确的比例),我可以稍后将它们用作 OpenCV 的 traingulatePoints 函数的输入来获取对象的位置。
很长一段时间以来,我一直坚持这一点。所以,请帮助我。
谢谢。
opencv - 使用单个静态相机从运动物体获取深度图像
我需要从移动物体的单个静态相机拍摄的图像序列中重建深度图。
据我了解,我可以使用截距定理使用立体相机计算在两个图像中找到的点的深度。有没有办法只使用单个相机和来自多个图像的匹配点来计算深度信息?
欢迎任何意见和替代解决方案。在此先感谢您的帮助!
android - Android相机校准没有棋盘
我知道有一些帖子谈论这个话题,但我找不到我的答案。
我想在没有棋盘的情况下校准我的 android 相机进行 3d 重建,所以我需要我的内在和外在参数。
我的第一个目标是提取 3D 真实系统,以便能够在屏幕上放置一些 3D 模型。
我的步骤:
从建筑物的图片中,我提取了代表真实 3D 系统的 4 个点
/!\ 这一步需要相机校准 /!\
将它们转换为 3d 点(例如solvePnP)
然后从我的 3D Axis 我创建一个 OpenGL 投影和模型视图矩阵
我的主要问题是我想避免校准步骤,那么如何在没有棋盘的情况下进行校准?我有一些来自android的数据,比如焦距。我可以猜到投影中心是我相机画面的中心。
有什么想法或建议吗?或其他方式来做到这一点?
emgucv - 我如何将 Emgu Mcvpoint3d32f 点写入 .ply 文件格式 3D 重建和网格
我收集了大量 Emgu mcvpoint3d32f 点。 我很困惑将这些点写入.ply 文件格式。通过这些我想使用meshlab创建一个网格。我如何将这些点写入.ply 文件格式。我如何从 Emgu mcvpoint3d32f 点获取顶点和面。
任何帮助...
opencv - Opencv cvFindStereoCorrespondenceGC(), disparityLeft / disparityRight
我正在使用图形切割 cvFindStereoCorrespondenceGC() 函数:
void cvFindStereoCorrespondenceGC(const CvArr *left, const CvArr *right, CvArr *disparityLeft, CvArr *disparityRight, CvStereoGCState *state, int useDisparityGuess = 0)。
我的问题是:我应该得到的 disparityLeft 和 disparityRight 地图是什么?
不应该只有一个像 cvFindStereoCorrespondenceBM() 给你的视差图吗?
cvFindStereoCorrespondenceBM(const CvArr *left, const CvArr *right, CvArr *disparity, CvStereoBMState *state)
opencv - 使用一台单声道校准相机进行人体身高估计
我正在研究一种算法来估计视频中检测到的人的高度,但我被卡住了。
我工作的部分是使用 HoG 算法检测人,所以我为框架中的每个人都有一个边界框。而且我已经校准了相机,所以我有我的内在和外在相机参数。
问题是现在我有一个带有 2 个未知数的透视投影公式:物体的高度和物体到相机的距离。我正在使用一个单声道网络摄像头来检测人,所以我没有关于物体到摄像头距离的信息。高度是我要估计的,所以我也没有。
我知道如果我使用 kinect 或立体摄像头来获取距离,这个问题是可以解决的,但我仅限于一个单声道网络摄像头。
有谁知道如何解决这个问题?我已阅读有关使用引用对象的信息,但我不知道如何使用它们来解决我的问题。
camera-calibration - 具有相机矩阵的密集 3D 重建
我必须从 2D 图像进行 3D 重建。我的老师告诉我,第一步是通过对棋盘拍一些照片来获得相机矩阵。我已经有了这些照片,并且正在使用 OpenCV 来获取相机矩阵。该矩阵具有以下形式:
我现在该怎么办?我的老师告诉我,我必须从图像中获取一些特征,然后匹配它们……但是我该如何使用这个矩阵呢?我读到了 Structure-from-motion,但我没有找到任何关于使用这个矩阵的信息。一旦我从图像中获得匹配项,流程是什么?
image-processing - 3D重建,matlab
我有来自同一台相机的图像 A 和图像 B。
图像 A 中的点
图像 B 中的点
t=1e-4;
[F, 内点] = ransacfitfundmatrix(x1, x2, t);
相机文件
**问题A=我想取回PointsB
例如,PointsB(:,1)==H*x1(:,1)
结果是错误的,为什么,缺少任何东西
问题 B= 如何从上述信息中获得 3D 点。
任何链接或 matlab 代码都会有所帮助。
我该如何使用
vgg_X_from_xP_lin.m 来自图像投影和相机的 3D 点, 线性
X = vgg_X_from_xP_lin(u,P,imsize) % 你是什么
opencv - 对象的 3D 重建和运动
我正在阅读很多关于 3D 重建的内容,因为我想使用 OpenCV 为我的产品实现它。我想确认的一件事是是否可以对不断变化的场景进行 3D 重建。我会更好地解释。
所有文章都在谈论移动相机或多个相机拍摄同一场景。然后将所有这些镜头转换为网格,通过使用特征作为连接点将这些网格合并为一个。
是否可以对固定相机和旋转主体做同样的事情?我认为功能仍然可以工作,对吧?我唯一不确定的是,不断变化的背景是否会成为问题。我是否必须识别并提取要重建的对象以消除噪声?
谢谢
opencv - OpenCV:基本矩阵分解
我正在尝试从基本矩阵中提取旋转矩阵和平移向量。
但是,当我使用 R 和 T 时(例如,获得校正图像),结果似乎不正确(黑色图像或一些明显错误的输出),即使我使用了可能的 R 和 T 的不同组合。
我怀疑E。根据教科书,如果我们有,我的计算是正确的:
E = U*diag(1, 1, 0)*Vt
在我的情况下 svd.w 应该是diag(1, 1, 0) [至少在比例方面],并非如此。这是我的输出示例:
svd.w = [21.47903827647813; 20.28555196246256;5.167099204708699e-010]
此外,E 的两个特征值应该相等,第三个应该为零。在同样的情况下,结果是:
E 的特征值 = 0.0000 + 0.0000i, 0.3143 +20.8610i, 0.3143 -20.8610i
如您所见,其中两个是复共轭。
现在,问题是:
- E 的分解和 R 和 T 的计算是否以正确的方式进行?
- 如果计算正确,为什么结果不满足本质矩阵的内部规则?
- 如果 E、R 和 T 一切正常,为什么它们得到的校正图像不正确?
我从基本矩阵中得到 E,我认为这是正确的。我在左右图像上都画了极线,它们都通过相关点(对于用于计算基本矩阵的所有 16 个点)。
任何帮助,将不胜感激。谢谢!