matlab - 如何将输入安排为matlab的Extrinsics()函数的对象?

标签 matlab computer-vision camera-calibration matlab-cvst perspectivecamera

我正在尝试使用matlab的extrinsics函数来计算平移向量。作为要求,我想给出输入相机参数。即相机矩阵、畸变矩阵。但是当我给输入(即 camParam 一个 3x3 的cameraMatrix)时,它给了我错误。

camParam = [994.735326361544, 0, 624.663440953582;
            0, 998.166467837258, 364.087425569226;
            0, 0, 1]; 

    [rotationMatrix,translationVector] = extrinsics(left_right_eye_points,(face.model)',camParam);

我收到以下错误:

Error using extrinsics
Expected cameraParams to be one of these types:
cameraParameters
Instead its type was double.
Error in extrinsics>checkInputs (line 140)
validateattributes(cameraParams, {'cameraParameters'}, {}, ...
Error in extrinsics (line 91)
checkInputs(imagePoints, worldPoints, cameraParams);
Error in Simple_conversion_from_World_to_Camera_to_image (line 37)
[rotationMatrix,translationVector] = extrinsics(left_right_eye_points,(face.model)',camParam)

我的问题是:

1)我应该如何安排我的camParam,以便函数extrinsics可以接受它。

2)另外还需要失真系数吗?如果是的话,还要考虑如何安排。

最佳答案

您必须按照错误消息的指示进行操作。创建一个cameraParameters对象并使用它。也许你想要cp=cameraParameters('IntrinsicMatrix',camParam)

cameraParams 对象还允许您设置失真,文档解释了详细信息。

关于matlab - 如何将输入安排为matlab的Extrinsics()函数的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31930677/

相关文章:

opencv - 使用可口可乐标志作为相机的校准图案

matlab - 简历 : Difference between MATLAB and OpenCV camera calibration techniques

matlab - 从照片中去除纸张纹理图案

computer-vision - 如何确定用于图像分类的卷积神经网络的参数?

file - MATLAB 中的脚本和函数有什么区别?

opencv - 恢复姿势 OpenCV 3.0

machine-learning - 一类 SVM 概率估计以及一类 SVM 与聚类有何不同

opencv - 相机校准:尺寸错误会导致正确的失真吗?

matlab - 在 Matlab mex 函数中使用预分配数组

algorithm - 二阶HMM的维特比算法