用OpenCV库中的warpPerspective函数,搜了一下网上,没找到可以显示全部的图像信息,所以自己写了一个,用于后面的图像进一步处理。
映射原理不多说:
转载一下 透视原理http://blog.csdn.NET/xiaowei_cqu/article/details/26471527
公式:dst(x,y) = src((M11x+M12y+M13)/(M31x+M32y+M33), (M21x+M22y+M23)/(M31x+M32y+M33))
- void mywarpPerspective(Mat src,Mat &dst,Mat T) {
//此处注意计算模型的坐标系与Mat的不同
//图像以左上点为(0,0),向左为x轴,向下为y轴,所以前期搜索到的特征点 存的格式是(图像x,图像y)---(rows,cols)
//而Mat矩阵的是向下为x轴,向左为y轴,所以存的方向为(图像y,图像x)----(cols,rows)----(width,height)
//这个是计算的时候容易弄混的
//创建原图的四个顶点的3*4矩阵(此处我的顺序为左上,右上,左下,右下)
Mat tmp(3, 4, CV_64FC1, 1);
tmp.at < double >(0, 0) = 0;
tmp.at <