Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.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
C++ 如何在OpenCV中可视化内部/外部摄影机参数?_C++_Matlab_Opencv_Computer Vision_Matlab Cvst - Fatal编程技术网

C++ 如何在OpenCV中可视化内部/外部摄影机参数?

C++ 如何在OpenCV中可视化内部/外部摄影机参数?,c++,matlab,opencv,computer-vision,matlab-cvst,C++,Matlab,Opencv,Computer Vision,Matlab Cvst,我正在使用OpenCV立体视觉,我的校准模块出现故障。出于调试目的,我想将摄像机参数校准的计算可视化,我希望找到一些内置功能来帮助实现这一点。我正在寻找类似Matlab的东西。有没有关于编写我自己的可视化的建议/建议?我在OpenCV文档中找不到任何有用的东西 我的内在矩阵: %YAML:1.0 M1: !!opencv-matrix rows: 3 cols: 3 dt: d data: [ 4.6716183686593592e+02, 0., 3.468520689

我正在使用OpenCV立体视觉,我的校准模块出现故障。出于调试目的,我想将摄像机参数校准的计算可视化,我希望找到一些内置功能来帮助实现这一点。我正在寻找类似Matlab的东西。有没有关于编写我自己的可视化的建议/建议?我在OpenCV文档中找不到任何有用的东西

我的内在矩阵:

%YAML:1.0
M1: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 4.6716183686593592e+02, 0., 3.4685206899619874e+02, 0.,
       4.6716183686593592e+02, 2.6460277614179995e+02, 0., 0., 1. ]
D1: !!opencv-matrix
   rows: 1
   cols: 5
   dt: d
   data: [ 1.3545958543110964e-01, -2.0383389968255977e-01, 0., 0., 0. ]
M2: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 4.6716183686593592e+02, 0., 3.1321301298488936e+02, 0.,
       4.6716183686593592e+02, 2.7674405764548516e+02, 0., 0., 1. ]
D2: !!opencv-matrix
   rows: 1
   cols: 5
   dt: d
   data: [ 6.8017486649835202e-02, -1.2178761345435389e-01, 0., 0., 0. ]
%YAML:1.0
R: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9771868227118155e-01, -7.5673210589346316e-03,
       6.7083281814831405e-02, 8.9579410266375625e-03,
       9.9975067896491787e-01, -2.0453244284196821e-02,
       -6.6911780275377294e-02, 2.1007512017769996e-02,
       9.9753771763237242e-01 ]
T: !!opencv-matrix
   rows: 3
   cols: 1
   dt: d
   data: [ -3.7118950200284830e+00, 2.0057520035877928e-02,
       -1.1958455121942886e-01 ]
R1: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9498387348418538e-01, -1.2286209661821963e-02,
       9.9278097073585744e-02, 1.3314580062505074e-02,
       9.9986428207583911e-01, -9.7025453735457880e-03,
       -9.9145415749623558e-02, 1.0975722350366061e-02,
       9.9501242206050977e-01 ]
R2: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9946687339085338e-01, -5.4006987617013216e-03,
       3.2199401348428379e-02, 5.0670326515128601e-03,
       9.9993271463178834e-01, 1.0435103699094591e-02,
       -3.2253591651478383e-02, -1.0266385049651746e-02,
       9.9942698941122865e-01 ]
P1: !!opencv-matrix
   rows: 3
   cols: 4
   dt: d
   data: [ 4.2226276527153402e+02, 0., 2.8740816497802734e+02, 0., 0.,
       4.2226276527153402e+02, 2.7487768363952637e+02, 0., 0., 0., 1.,
       0. ]
P2: !!opencv-matrix
   rows: 3
   cols: 4
   dt: d
   data: [ 4.2226276527153402e+02, 0., 2.8740816497802734e+02,
       -1.5682311212949173e+03, 0., 4.2226276527153402e+02,
       2.7487768363952637e+02, 0., 0., 0., 1., 0. ]
Q: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ 1., 0., 0., -2.8740816497802734e+02, 0., 1., 0.,
       -2.7487768363952637e+02, 0., 0., 0., 4.2226276527153402e+02, 0.,
       0., -2.6926054427670321e-01, 0. ]
我的外在矩阵:

%YAML:1.0
M1: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 4.6716183686593592e+02, 0., 3.4685206899619874e+02, 0.,
       4.6716183686593592e+02, 2.6460277614179995e+02, 0., 0., 1. ]
D1: !!opencv-matrix
   rows: 1
   cols: 5
   dt: d
   data: [ 1.3545958543110964e-01, -2.0383389968255977e-01, 0., 0., 0. ]
M2: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 4.6716183686593592e+02, 0., 3.1321301298488936e+02, 0.,
       4.6716183686593592e+02, 2.7674405764548516e+02, 0., 0., 1. ]
D2: !!opencv-matrix
   rows: 1
   cols: 5
   dt: d
   data: [ 6.8017486649835202e-02, -1.2178761345435389e-01, 0., 0., 0. ]
%YAML:1.0
R: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9771868227118155e-01, -7.5673210589346316e-03,
       6.7083281814831405e-02, 8.9579410266375625e-03,
       9.9975067896491787e-01, -2.0453244284196821e-02,
       -6.6911780275377294e-02, 2.1007512017769996e-02,
       9.9753771763237242e-01 ]
T: !!opencv-matrix
   rows: 3
   cols: 1
   dt: d
   data: [ -3.7118950200284830e+00, 2.0057520035877928e-02,
       -1.1958455121942886e-01 ]
R1: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9498387348418538e-01, -1.2286209661821963e-02,
       9.9278097073585744e-02, 1.3314580062505074e-02,
       9.9986428207583911e-01, -9.7025453735457880e-03,
       -9.9145415749623558e-02, 1.0975722350366061e-02,
       9.9501242206050977e-01 ]
R2: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9946687339085338e-01, -5.4006987617013216e-03,
       3.2199401348428379e-02, 5.0670326515128601e-03,
       9.9993271463178834e-01, 1.0435103699094591e-02,
       -3.2253591651478383e-02, -1.0266385049651746e-02,
       9.9942698941122865e-01 ]
P1: !!opencv-matrix
   rows: 3
   cols: 4
   dt: d
   data: [ 4.2226276527153402e+02, 0., 2.8740816497802734e+02, 0., 0.,
       4.2226276527153402e+02, 2.7487768363952637e+02, 0., 0., 0., 1.,
       0. ]
P2: !!opencv-matrix
   rows: 3
   cols: 4
   dt: d
   data: [ 4.2226276527153402e+02, 0., 2.8740816497802734e+02,
       -1.5682311212949173e+03, 0., 4.2226276527153402e+02,
       2.7487768363952637e+02, 0., 0., 0., 1., 0. ]
Q: !!opencv-matrix
   rows: 4
   cols: 4
   dt: d
   data: [ 1., 0., 0., -2.8740816497802734e+02, 0., 1., 0.,
       -2.7487768363952637e+02, 0., 0., 0., 4.2226276527153402e+02, 0.,
       0., -2.6926054427670321e-01, 0. ]

我认为OpenCV中没有这样的东西。但原则上,您可以将校准数据输入matlab,并手动构造一个
cameraParameters
对象,然后将其传递到
ShowExterinsics()

看来我会求助于管道数据到matlab然后-谢谢!为什么不直接在Matlab中使用cameraCalibrator应用程序呢?我希望将可视化解决方案集成到我们的Python/C++代码库中,而不是使用Matlab的校准器。无论如何,我只需要几个OpenCV函数调用来计算校准(主要是findChessBoardCorners、StereoRective),这样就不会节省我使用Matlab进行校准的时间。为了调试的目的,Matlab应该足够了。