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
Opencv 旋转帧的摄像机参数_Opencv_Opengl_Computer Vision_Camera Calibration_Extrinsic Parameters - Fatal编程技术网

Opencv 旋转帧的摄像机参数

Opencv 旋转帧的摄像机参数,opencv,opengl,computer-vision,camera-calibration,extrinsic-parameters,Opencv,Opengl,Computer Vision,Camera Calibration,Extrinsic Parameters,我有一帧/图像是用校准过的相机拍摄的。两组摄影机参数(内部和外部)都可用。我想知道,如果我在水平和垂直方向翻转帧(有效地将其旋转180度),我需要更改原始相机参数以获得旋转图像的正确参数吗 感谢您的帮助。谢谢..相机参数的线性部分将转换为视图投影矩阵。将其与比例(-1,-1,1)变换连接将为您提供新情况下的视图投影(顺便说一句,比例(-1,-1,1)=旋转(180°=圆周率,0,0,1))。谢谢@datenwolf。你能详细说明一下你所说的摄像机参数的线性部分是什么意思吗?你是指外部参数3x4矩

我有一帧/图像是用校准过的相机拍摄的。两组摄影机参数(内部和外部)都可用。我想知道,如果我在水平和垂直方向翻转帧(有效地将其旋转180度),我需要更改原始相机参数以获得旋转图像的正确参数吗


感谢您的帮助。谢谢..

相机参数的线性部分将转换为视图投影矩阵。将其与比例(-1,-1,1)变换连接将为您提供新情况下的视图投影(顺便说一句,比例(-1,-1,1)=旋转(180°=圆周率,0,0,1))。

谢谢@datenwolf。你能详细说明一下你所说的摄像机参数的线性部分是什么意思吗?你是指外部参数3x4矩阵[R | t]?对于本征参数,我认为焦距不需要任何改变。但是,如果主点(c_x,c_y)不在图像平面的中心,则可能需要更改其坐标。我的目标是获得新的内在和外在参数矩阵。相应的OpenGL视图投影矩阵不是我要寻找的。@informer2000:线性部分是与相机相关的一切,不会引入非线性变换(即镜头扭曲)。根据您的相机模型,外部参数和内部参数都可以完全线性,通常外部参数总是线性的。但是,如果你的相机模型包含了内在模型中的非线性镜头畸变,那么这部分必须与线性部分(主要是FOV)分离。如果您使用的是基本针孔相机模型,则根本没有非线性部件,您的相机矩阵将是P·[R | t]。@datenwold:是的,我使用的是针孔相机模型。基本上,投影矩阵P是内在参数矩阵K乘以外在矩阵[R | t]的结果。如果我理解正确,我需要转换的是外部矩阵。这可以通过将增广的外部矩阵(通过将[01]作为最后一行添加以获得4x4矩阵)乘以I[-1-11]^T来实现吗?@informer2000:在我上面的陈述中,P只是投影,它只是内部参数。P·[R | t]构成viewprojection(或camera)矩阵,然后通过将其扩展为4×4矩阵,可以将其转换为OpenGL风格的camera矩阵。作为交叉检查,在有效的针孔相机矩阵中,WW元素为0,但W行在Z中不为零(因此投影的Z坐标强制进行透视缩放)。我在这里有点困惑。我认为我们使用了不同的术语。我不想为此使用OpenGL函数(例如,
glRotate()
glScale()
)。我基本上想直接变换针孔相机模型参数。你能用矩阵运算来描述一下吗?