无棋盘的Android摄像机校准

无棋盘的Android摄像机校准,android,opencv,camera-calibration,3d-reconstruction,Android,Opencv,Camera Calibration,3d Reconstruction,我知道有一些帖子在谈论这个话题,但我找不到我的答案 我想在没有棋盘的情况下校准我的android相机进行3d重建,所以我需要我的内在和外在参数 我的第一个目标是提取3D真实系统,以便能够在屏幕上放置一些3D模型 我的步骤: 从一个建筑物的图片中,我提取了4个代表真实3D系统的点 /!\此步骤需要摄像机校准/\ 将其转换为三维点(例如解算PNP) 然后从我的3D轴创建一个OpenGL投影和modelview矩阵 我的主要问题是我想避免一个校准步骤,那么没有棋盘怎么校准呢?我有一些安卓系统的数据

我知道有一些帖子在谈论这个话题,但我找不到我的答案

我想在没有棋盘的情况下校准我的android相机进行3d重建,所以我需要我的内在和外在参数

我的第一个目标是提取3D真实系统,以便能够在屏幕上放置一些3D模型

我的步骤:

  • 从一个建筑物的图片中,我提取了4个代表真实3D系统的点

  • /!\此步骤需要摄像机校准/\

    将其转换为三维点(例如解算PNP)

  • 然后从我的3D轴创建一个OpenGL投影和modelview矩阵

我的主要问题是我想避免一个校准步骤,那么没有棋盘怎么校准呢?我有一些安卓系统的数据,比如焦距。我猜投影中心就是我相机照片的中心


有什么想法或建议吗?还是其他方法呢?

以下是无需校准的

当您需要获得相机校准时,建议使用此方案 从没有校准棋盘的图像。在这种情况下,你 如果您知道摄像机中的4个点,则可以近似进行摄像机校准 在现实世界中形成平面矩形的图像。值得注意的是 近似校准取决于4个选定点和 将为矩形的尺寸设置的值


你可以通过写下你试过什么,读过什么来改进你的问题。我正在研究这个问题,但理解起来有些困难是的,这是一个很难的话题,但你指出的文章是正确的方向。从运动中寻找更多关于结构的资源。如果我校准我的nexus 4相机并获得失真、倾斜因子和焦距,我可以假设所有nexus 4相机都具有相同的值吗?不,不是,你不能假设。一般来说,如果你想要正确的摄像机校准,你必须使用不能改变焦点的摄像机。此外,此类移动设备的相机通常甚至不适合静态相机校准,即。,如果您校准Nexus 4相机,则不能保证在使用一段时间后可以校准。老实说,尽管QtCalib提供的功能似乎可以正常工作,但这是一项相当艰巨的任务,用户必须输入一些参数(例如:飞机的尺寸)很难以足够高的精度提取(当然取决于手头的任务)。我现在有个问题,我有一条两点线,经过你们的库校准后,我想知道我的线点位置现在在哪里?我如何计算新点?因为我想要两个在校准后确定该线的大小,请帮助我知道要计算的公式:(Xnew,Ynew)=函数(Kc,Rc,Tc)