//
/*
对映射矩阵进行变换,得到两个映射矩阵的一一对应的点阵,然后计算对应关系
*/
//
//左相机映射矩阵
Mat mapping1 = rmap[0][0];
Mat mapping2 = rmap[0][1];
//右相机映射矩阵
Mat mapping3 = rmap[1][0];
Mat mapping4 = rmap[1][1];
//对右相机映射矩阵平移,得到新的右相机映射矩阵
Mat mapping5,mapping6;
cv::Size mapping_size = rmap[0][0].size();
cv::warpAffine(mapping3, mapping5, t_mat, mapping_size);
cv::warpAffine(mapping4, mapping6, t_mat, mapping_size);
//建立两个平面对应的点集群
std::vector<cv::Point2f> mapL, mapR;
Point2f lp, rp;
//范围限定
for (int i = 200; i <800; i++)
{
for (int j = 200; j < 800; j++)
{
lp.x = mapping1.at<float>(i, j);
lp.y = mapping2.at<float>(i, j);
rp.x = mapping5.at<float>(i, j);
rp.y = mapping6.at<float>(i, j);
mapL.push_back(lp);
mapR.push_back(rp);
}
}
//这里使用findHomography函数,这个函数的返回值才是真正的变换矩阵
Mat m_homographymap;
vecto