推荐答案
在 OpenCV 中,可以通过 cv2.getRotationMatrix2D
和 cv2.warpAffine
函数来旋转图像。以下是一个示例代码:
-- -------------------- ---- ------- ------ --- - ---- ----- - ----------------------- - ---------- --- -- - --------------- - ------- ------ - -- -- -- - -- -- - ----------- ----- - -- ----- - --- - ------ - - ------------------------------- ------ ------ - ------ ------- - --------------------- -- --- --- - -------- ------------------- ------- -------- -------------- -----------------------
本题详细解读
1. cv2.getRotationMatrix2D
函数
cv2.getRotationMatrix2D
函数用于生成一个 2x3 的旋转矩阵。该函数的参数包括:
center
: 旋转中心点的坐标,通常为图像的中心点。angle
: 旋转角度,单位为度,正值表示逆时针旋转。scale
: 缩放比例,1.0 表示不缩放。
2. cv2.warpAffine
函数
cv2.warpAffine
函数用于应用仿射变换,包括旋转、缩放和平移等操作。该函数的参数包括:
src
: 输入图像。M
: 2x3 的变换矩阵,通常由cv2.getRotationMatrix2D
生成。dsize
: 输出图像的大小,通常与输入图像相同。
3. 旋转中心点
旋转中心点通常选择图像的中心点,即 (w // 2, h // 2)
,其中 w
和 h
分别是图像的宽度和高度。
4. 旋转角度
旋转角度可以是任意值,正值表示逆时针旋转,负值表示顺时针旋转。
5. 缩放比例
缩放比例可以调整图像的大小,1.0 表示不缩放,小于 1.0 表示缩小,大于 1.0 表示放大。
6. 显示旋转后的图像
使用 cv2.imshow
函数显示旋转后的图像,并通过 cv2.waitKey
和 cv2.destroyAllWindows
函数控制窗口的显示和关闭。
通过以上步骤,可以在 OpenCV 中实现图像的旋转操作。