我有两个不同相机(不同分辨率)的立体声校准参数。我想将此数据用于立体校正和计算视差图。问题在于两个摄像机的图像大小不同,我不知道如何指定这些大小。 cvStereoRectify仅采用单一大小,前提是两个图像的大小相同。
在这方面的任何建议将不胜感激。
问候,
可汗
最佳答案
您是否尝试过在高分辨率相机上使用感兴趣的区域?例如,假设您有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);
希望对您有所帮助!