我正在试图估计DJI Phantom 4无人机的内在矩阵K的值。我知道这个矩阵的形式是:
但我似乎无法让单位正确。查看https://www.dji.com/phantom-4/info#specs处的规格我发现焦距为8.88(dosnt表示单位......),图像尺寸为4000x3000。 K看起来像是什么?
* PS,我正在缩小图像,使它们更小。这会影响我应该用于openCV的K矩阵吗?
答案 0 :(得分:2)
OP链接的页面列出了94度的FOV。图像宽度为4000像素,这对应于焦距
f = (4000 / 2) pixels / tan(94 / 2 degrees) = 1865 pixels
如果没有任何其他校准数据,则应使用以下形式的估计相机矩阵:
K = [ [1865, 0 , 2000],
[0 , 1865, 1500],
[0 , 0 , 1 ] ]
答案 1 :(得分:1)
如果您确实使用P4中的图像,Francesco的答案是正确的。
但是,如果您实际使用的是P4Pro中的图像,则需要使用以下值:
f = (4864 / 2) pixels / tan(84 / 2 degrees) = 2701 pixels
K = [ [2701, 0 , 2432],
[0 , 2701, 1824],
[0 , 0 , 1 ] ]
对于可能找到此答案的任何人的未来参考,以下是P4和P4Pro传感器/镜头的相关规格:
答案 2 :(得分:0)
我认为从焦距(毫米)开始工作会更好
https://www.dxomark.com/Cameras/DJI/Phantom4-Pro---Specifications
对于P4 Pro:
13.2 x 8.8 so pixel size is = 0.00241 or 2.41 um focal length is 8.8mm
因此焦距(以像素为单位)= 8.8 / 0.00241 = 3684.6像素
在图像元数据中偶然有一个字段:
CalibratedFocalLength 3666.666504(使用exiftool来找到它),所以我认为K应该是
K = [ [3666.6, 0 , 2432],
[0 , 3666.6, 1824],
[0 , 0 , 1 ] ]