Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何计算相机内部和外部?_Android_Opencv_Camera_Computer Vision_Point Clouds - Fatal编程技术网

Android 如何计算相机内部和外部?

Android 如何计算相机内部和外部?,android,opencv,camera,computer-vision,point-clouds,Android,Opencv,Camera,Computer Vision,Point Clouds,如果我们知道摄像头矩阵,则可以将使用iPhone或Android摄像头拍摄的2D图像转换为3D点云。我有一部分关于如何计算一些参数的知识,但是我需要你的帮助来填补我知识中的空白 给定世界坐标(W)、相应的图像坐标(X)和相机内部矩阵(K)。任务是将三维点云投影到世界上 使用X和W估计单应性(H) 使用K和H估计外部矩阵(E) 使用K和E计算相机矩阵 使用摄影机矩阵将三维点投影到图像上 因此,如果我知道至少4个3D点及其对应的像素位置,假设我已经知道相机的内部特性,那么我可以计算上述所有内容 但是

如果我们知道摄像头矩阵,则可以将使用iPhone或Android摄像头拍摄的2D图像转换为3D点云。我有一部分关于如何计算一些参数的知识,但是我需要你的帮助来填补我知识中的空白

给定世界坐标(W)、相应的图像坐标(X)和相机内部矩阵(K)。任务是将三维点云投影到世界上

  • 使用X和W估计单应性(H)
  • 使用K和H估计外部矩阵(E)
  • 使用K和E计算相机矩阵
  • 使用摄影机矩阵将三维点投影到图像上
  • 因此,如果我知道至少4个3D点及其对应的像素位置,假设我已经知道相机的内部特性,那么我可以计算上述所有内容

    但是如果我不知道相机的本质,我怎么计算呢?我怎样才能得到至少4个世界坐标和图像坐标的对应关系?有没有比我建议的更简单的方法来获取相机矩阵

    我不是在网上寻找相机校准的例子,但我想从头开始写代码。非常感谢您的帮助

    • 固有参数可以用()估计
    • 外部参数可以通过/问题来估计
    • 点对应可以通过标记/棋盘角点检测获得
    关于你的断言,我认为:

  • 单应性不应处理3D坐标(具有已知深度)
  • 在某些假设(平面假设)下,您应该能够使用单应性和上一个摄影机姿势计算当前摄影机姿势,但这不是通常的过程
  • E
    通常表示外部矩阵,而不是外部矩阵