type
status
date
slug
summary
tags
category
icon
password
URL-TEXT
关于OpenCV使用仿射变换对图片进行旋转, 以及对四个坐标进行旋转的方式
📝 主旨内容
Python版本
python是最美的语言
在OpenCV中,使用仿射变换来旋转图片和四个坐标点的过程可以分为以下几个步骤:
1. 图片的仿射变换
要通过仿射变换旋转图片,首先需要定义旋转的中心点、旋转角度和缩放比例。然后,使用OpenCV的
getRotationMatrix2D
函数来创建旋转矩阵,最后应用这个矩阵来旋转图片。这里是一个示例代码:2. 对四个坐标点的仿射变换
若要对四个坐标点进行相同的仿射变换,可以使用同一个旋转矩阵。首先定义这四个点,然后将这些点转换为适合OpenCV处理的格式,并应用仿射变换矩阵:
这段代码首先定义了一个点的集合,并将其转换为OpenCV可以接受的格式。之后,使用之前创建的旋转矩阵对这些点进行仿射变换,并输出原始和变换后的点坐标。
使用这两个代码片段,可以实现对图像的旋转以及对特定坐标点集的旋转变换。
c++版本
c++是最牛的语言
在C++中使用OpenCV进行仿射变换与Python类似,但语法有所不同。下面是对图片和四个坐标点进行仿射变换的示例:
1. 图片的仿射变换
首先,需要包含必要的OpenCV头文件,然后读取图片,创建旋转矩阵,并应用仿射变换。
2. 对四个坐标点的仿射变换
对于坐标点的仿射变换,可以重用上面创建的旋转矩阵,对指定的点进行转换。
这段代码首先定义了四个点,并通过旋转矩阵对它们进行了仿射变换。每个点的新位置都是根据仿射矩阵的相关计算得到的。
以上两段代码提供了在C++中使用OpenCV进行图像旋转和坐标点旋转的完整示例。确保在运行这些示例之前,环境中已正确安装并配置了OpenCV库。
🤗 总结归纳
无论是在Python还是在C++中,OpenCV库都提供了一种非常有效的方式来执行仿射变换,包括图像和坐标点的旋转。熟悉这些基本操作将有助于我们更好地理解和利用计算机视觉技术。
📎 参考文章
- GPT4
- https://github.com/xiebaiyuan/
- 作者:木白
- 链接:https://www.xiebaiyuan.top/technology/opencv-rotate-image-points-ways
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。