opencv - 选定区域的仿射变换

标签 opencv image-processing affinetransform

我想创建一个用于对图像的选定部分进行仿射变换的工具(4 个角多边形,请参阅图像链接)。 http://s14.postimg.org/fn9btus8h/explanation.png

我尝试使用opencv但没有成功。

感谢您的帮助。 问候

最佳答案

您应该向我们展示您已经尝试过的内容以及您为何没有成功。 您可能使用了错误的点来创建变换矩阵。 正确的步骤如下所述。

您应该使用getAffineTransform来创建仿射变换矩阵。这会将输入三角形映射到输出三角形,如 documentation 中所述。 。但你应该确保你通过了两个平面的三个对应点。

如果您不确定如何选择两个平面的三个对应点,只需使用 getPerspectiveTransform 并按各自的顺序传入两个平面的四个点。它仍然有效,因为仿射变换只是透视变换的一个特例。

得到变换矩阵后,应该使用warpAffinewarpPerspective来映射 输入图像。

关于opencv - 选定区域的仿射变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20316691/

相关文章:

python - 更改标题时图像的打开方式有所不同

image-processing - 图像校正

python - 我将如何检测这两条线的角度?

java - 旋转 BufferedImage 时出现问题

ios - 什么样的变换会给我想要的结果图像?

opencv - 相机姿态估计(OpenCV PnP)

android - 如何理解OpenCV程序中引发的此异常

c - 如何分析/识别紧密处理循环中的缓慢步骤?

iOS:颜色术语和理论

java - AffineTransform:从中心缩放形状