本文学习资源《机器学习实践指南 案例应用解析》
一、 原理
三维计算机图形学中,投影可以看作是一种将三维坐标变换为二维坐标的方法,常用到的有正交投影和透视投影。
正交投影多用于三维健模,透视投影则由于和人的视觉系统相似,多用于在二维平面中对三维世界的呈现。
与平行投影沿着平行线将物体投影到图像平面不同,透视投影是指从投影中心这一点发出的直线将物体投影到图像平面上。这就意味着距离投影中心越远的投影越小,距离越近的投影越大。
透视投影基本模型:
![5adafdd74c4d18e27a8298715c60e42a.png](https://img-blog.csdnimg.cn/img_convert/5adafdd74c4d18e27a8298715c60e42a.png)
二、OpenCV的实现
1. WarpPerspective
OpenCV提供了WarpPerspective函数,可对图像进行透视变换:
cv2.warpPerspective(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) -> dst
主要参数说明:
- map_matrix: 3x3变换矩阵
- flags:插值方法和以下开关选项的组合,有以下两种:
- CV_WARP_FILL_OUTLIERS 填充所有缩小图像的像素。如果部分像素落在输入图像的边界外,那么它们的值设定为fillval。
- CV_WARP