在OpenCv中对两个不同摄像机进行立体声校正

use*_*400 6 opencv

我有两个不同相机(不同分辨率)的立体声校准参数.我想将此数据用于立体声校正和计算视差图.问题是来自两个相机的图像具有不同的尺寸,我不知道如何指定这些尺寸.假设两个图像的大小相同,cvStereoRectify只需要一个大小.

任何有关这方面的建议都将受到高度赞赏.

问候,

mev*_*ron 1

您是否尝试过在更高分辨率的相机上使用感兴趣区域?例如,假设您有一个 640x480 相机和一个 800x600 相机。您可以执行以下操作:

VideoCapture videoLo(LOW), videoHi(HIGH);
Mat loRes, hiRes;

Point hiCenter(hiRes.size().width / 2, hiRes.size().height / 2);

int key = 0;
do
{
    videoLo >> loRes;
    videoHi >> hiRes;

    // this will give you the center 640x480 of the high res image.
    Mat hiResWin(hiRes, Rect(hiCenter.x - loRes.size().width / 2, 
                             hiCenter.y - loRes.size().height / 2,
                             loRes.size().width,
                             loRes.size().height));

    key = waitKey(33);
} while((char)key != 27);
Run Code Online (Sandbox Code Playgroud)

希望这有帮助!