MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   基本矩阵的3D对应 (https://www.labfans.com/bbs/showthread.php?t=23098)

poster 2019-12-10 20:30

基本矩阵的3D对应
 
在MATLAB中,我已使用归一化的[URL="http://en.wikipedia.org/wiki/Eight-point_algorithm"]八点算法[/URL]计算了(两个图像的) [URL="http://en.wikipedia.org/wiki/Fundamental_matrix_%28computer_vision%29"]基本矩阵[/URL] 。因此,我需要对3D空间中的相应图像点进行[URL="http://en.wikipedia.org/wiki/Triangulation_%28computer_vision%29"]三角剖分[/URL] 。据我了解,要做到这一点,我需要旋转和平移图像相机。最简单的方法当然是先[URL="http://www.vision.caltech.edu/bouguetj/calib_doc/"]校准相机[/URL]然后拍摄图像,但这对我的应用来说太过局限了,因为这需要额外的步骤。

这样就可以进行[URL="http://en.wikipedia.org/wiki/Camera_auto-calibration"]自动(自)摄像机校准了[/URL] 。我看到了[URL="http://en.wikipedia.org/wiki/Bundle_adjustment"]捆绑调整的内容[/URL] ,但是在[URL="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立体幻镜中,[/URL]它似乎需要初始平移和旋转,这使我觉得需要校准的相机,或者我的理解不足。

因此,我的问题是如何自动提取旋转/平移,以便将图像点重新投影/三角剖分到3D空间中。任何MATLAB代码或伪代码都是很棒的。



[B]回答:[/B]

您可以使用基本矩阵来恢复相机矩阵,并从其图像中对3D点进行三角剖分。但是,您必须意识到,将要获得的重建将是投影重建,而不是欧几里得重建。如果您的目标是测量原始场景中的投影不变性(例如,交叉比,线相交等),但它不足以测量角度和距离(您必须为此校准相机),这将很有用。

如果您可以使用[URL="http://www.robots.ox.ac.uk/~vgg/hzbook/"]Hartley和Zisserman的教科书[/URL] ,则可以查看第9.5.3节,在其中您将找到从基本矩阵到一对照相机矩阵所需的内容,这将使您可以计算投影重建(我相信同样内容请参见《伊马书》第6.4节)。由于[URL="http://www.robots.ox.ac.uk/~vgg/hzbook/code"]本书算法[/URL]的[URL="http://www.robots.ox.ac.uk/~vgg/hzbook/code"]源代码可在线获得[/URL] ,因此您可能需要检查函数vgg_P_from_F,vgg_X_from_xP_lin和vgg_X_from_xP_nonlin。



[url=https://stackoverflow.com/questions/2189107]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 04:55

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.