校正参数的生成方法以前面已经介绍:
http://blog.csdn.net/b5w2p0/article/details/39099177
采用OpenCV中校正函数进行Remap校正,
cv::Mat frame0, frame1, img0, img1; frame0 = imread("1_3.bmp"); frame1 = imread("1_4.bmp"); remap(frame0, frame0, m_Calib_Mat_Remap_X_L, m_Calib_Mat_Remap_Y_L, cv::INTER_LINEAR); remap(frame1, frame1, m_Calib_Mat_Remap_X_R, m_Calib_Mat_Remap_Y_R, cv::INTER_LINEAR); cv::imwrite("1_1.bmp",frame0); cv::imwrite("1_2.bmp",frame1);
相同的情况编译到嵌入式开发板上运行的效果:
发现,左相机校正矫正可以正常矫正,可右相机校正后的图像完全不对,所有的问题都卡在这个右相机校正的矩阵上的,矩阵数据查看也没有什么问题呀,实在想不出,难道嵌入式中经过交叉编译后Remap的程序运行起来和电脑中的不一样吗.实在是费解。
原文地址:http://blog.csdn.net/b5w2p0/article/details/39101499