文末附基于Python和C++两种方式实现的测试代码下载链接
图 1:左图中蓝色三角形内的所有像素都已转换为右图中的蓝色三角形。
在本教程中,我们将看到如何将图像中的单个三角形变形为不同图像中的另一个三角形。
在计算机图形学中,人们一直在处理扭曲三角形,因为任何 3D 表面都可以用三角形来近似。图像可以分解成三角形并扭曲。但是,在 OpenCV 中,没有开箱即用的方法可以将一个三角形内的像素变形为另一个三角形内的像素。
本教程将逐步解释如何将图 1 中左侧图像中的三角形转换为右侧图像。
在深入研究代码之前,我们需要了解什么是仿射变换。