poster
2019-12-10, 20:30
在MATLAB中,我已使用归一化的八点算法 (http://en.wikipedia.org/wiki/Eight-point_algorithm)计算了(两个图像的) 基本矩阵 (http://en.wikipedia.org/wiki/Fundamental_matrix_%28computer_vision%29) 。因此,我需要对3D空间中的相应图像点进行三角剖分 (http://en.wikipedia.org/wiki/Triangulation_%28computer_vision%29) 。据我了解,要做到这一点,我需要旋转和平移图像相机。最简单的方法当然是先校准相机 (http://www.vision.caltech.edu/bouguetj/calib_doc/)然后拍摄图像,但这对我的应用来说太过局限了,因为这需要额外的步骤。
这样就可以进行自动(自)摄像机校准了 (http://en.wikipedia.org/wiki/Camera_auto-calibration) 。我看到了捆绑调整的内容 (http://en.wikipedia.org/wiki/Bundle_adjustment) ,但是在3D立体幻镜中, (http://books.google.com/books?id=jCsZ5rdwgqMC&lpg=PP1&ots=MjhMWP74VG&dq=an%20invitation%20to%203d%20vision&pg=PA167#v=onepage&q=&f=false)它似乎需要初始平移和旋转,这使我觉得需要校准的相机,或者我的理解不足。
因此,我的问题是如何自动提取旋转/平移,以便将图像点重新投影/三角剖分到3D空间中。任何MATLAB代码或伪代码都是很棒的。
回答:
您可以使用基本矩阵来恢复相机矩阵,并从其图像中对3D点进行三角剖分。但是,您必须意识到,将要获得的重建将是投影重建,而不是欧几里得重建。如果您的目标是测量原始场景中的投影不变性(例如,交叉比,线相交等),但它不足以测量角度和距离(您必须为此校准相机),这将很有用。
如果您可以使用Hartley和Zisserman的教科书 (http://www.robots.ox.ac.uk/~vgg/hzbook/) ,则可以查看第9.5.3节,在其中您将找到从基本矩阵到一对照相机矩阵所需的内容,这将使您可以计算投影重建(我相信同样内容请参见《伊马书》第6.4节)。由于本书算法 (http://www.robots.ox.ac.uk/~vgg/hzbook/code)的源代码可在线获得 (http://www.robots.ox.ac.uk/~vgg/hzbook/code) ,因此您可能需要检查函数vgg_P_from_F,vgg_X_from_xP_lin和vgg_X_from_xP_nonlin。
更多&回答... (https://stackoverflow.com/questions/2189107)
这样就可以进行自动(自)摄像机校准了 (http://en.wikipedia.org/wiki/Camera_auto-calibration) 。我看到了捆绑调整的内容 (http://en.wikipedia.org/wiki/Bundle_adjustment) ,但是在3D立体幻镜中, (http://books.google.com/books?id=jCsZ5rdwgqMC&lpg=PP1&ots=MjhMWP74VG&dq=an%20invitation%20to%203d%20vision&pg=PA167#v=onepage&q=&f=false)它似乎需要初始平移和旋转,这使我觉得需要校准的相机,或者我的理解不足。
因此,我的问题是如何自动提取旋转/平移,以便将图像点重新投影/三角剖分到3D空间中。任何MATLAB代码或伪代码都是很棒的。
回答:
您可以使用基本矩阵来恢复相机矩阵,并从其图像中对3D点进行三角剖分。但是,您必须意识到,将要获得的重建将是投影重建,而不是欧几里得重建。如果您的目标是测量原始场景中的投影不变性(例如,交叉比,线相交等),但它不足以测量角度和距离(您必须为此校准相机),这将很有用。
如果您可以使用Hartley和Zisserman的教科书 (http://www.robots.ox.ac.uk/~vgg/hzbook/) ,则可以查看第9.5.3节,在其中您将找到从基本矩阵到一对照相机矩阵所需的内容,这将使您可以计算投影重建(我相信同样内容请参见《伊马书》第6.4节)。由于本书算法 (http://www.robots.ox.ac.uk/~vgg/hzbook/code)的源代码可在线获得 (http://www.robots.ox.ac.uk/~vgg/hzbook/code) ,因此您可能需要检查函数vgg_P_from_F,vgg_X_from_xP_lin和vgg_X_from_xP_nonlin。
更多&回答... (https://stackoverflow.com/questions/2189107)