2011-07-02 122 views
1

我正试图将3D模型投影到2D平面上,并且我发现我应该使用投影方程C*((R*X)+T)来这样做。 C,这是如下相机校准矩阵的计算方法:3D模型到2D平面的透视投影

C =[f 0 px; 
    0 f py; 
    0 0 1]; 

首先,我想询问有关在摄像机校准矩阵中使用的焦距f。我应该以像素还是毫米为单位使用它?如果在毫米,我怎么能得到它?

其次,我真的不知道该pxpy变量代表什么,因为我约了我的工作轮空MATLAB的exifread功能数据的一些信息,这些都是我得到的信息:

   Sharpness: 0 
       Contrast: 0 
     SceneCaptureType: 0 
    FocalLengthIn35mmFilm: 27 
     DigitalZoomRatio: 1 
      WhiteBalance: 0 
      ExposureMode: 0 
       SceneType: 1 
      FileSource: 3 
      SensingMethod: 2 
     PixelYDimension: 3000 
     PixelXDimension: 4000 
      ColorSpace: 1 
     FlashpixVersion: '0100' 
      FocalLength: 4.9000 
        Flash: 1 
      LightSource: 0 
      MeteringMode: 4 
     MaxApertureValue: 3.6150 
     ExposureBiasValue: 0 
      ApertureValue: 3.6150 
     ShutterSpeedValue: 2.3220 
CompressedBitsPerPixel: 2.8149 
ComponentsConfiguration: [1 2 3 0] 
     DateTimeDigitized: '2011:06:26 16:55:08' 
     DateTimeOriginal: '2011:06:26 16:55:08' 
      ExifVersion: '0221' 
     ISOSpeedRatings: 100 
     ExposureProgram: 2 
       FNumber: 3.5000 
      ExposureTime: 0.2000 
       Copyright: 'Copyright 2010' 
     YCbCrPositioning: 2 
       DateTime: '2011:06:26 16:55:08' 
       Software: ' 0.8913' 
     ResolutionUnit: 2 
      YResolution: 96 
      XResolution: 96 
      Orientation: 1 
        Model: 'SAMSUNG ES30/VLUU ES30' 
        Make: 'SAMSUNG' 
       Thumbnail: [1x1 struct] 

请问pxpy是指其中的哪一个?

回答

2

px和py是主点的坐标。在一个理想的相机,这将是图像的中心,所以你可以使用宽度/ 2,高度/ 2开始。对于实际值,您应该使用校准算法。

f应该以像素为单位。