getRotationMatrix2D
getRotationMatrix2D(center, angle, scale) -> retval
设定中心点和旋转角度生成转换矩阵
| 参数 | 描述 |
|---|---|
| center | 旋转的中心点,一般是图片的中心,用img.shape取得长宽,然后取一半 |
| angle | 旋转的角度,正值是逆时针旋转,负值时顺时针旋转 |
| scale | 缩放因子 |
import cv2 as cv
img = cv.imread("./data/minAreaRect.png",0)
# 这里类型做了转换 要注意
h, w = img.shape[:2]
center = (w//2, h//2)
angle=-40
M = cv.getRotationMatrix2D(center, angle, 1.0)
rotated = cv.warpAffine(img, M, (w, h), flags=cv.INTER_CUBIC, borderMode=cv.BORDER_REPLICATE)
cv.imshow('Input', img)
cv.imshow('Rotated', rotated)
k = cv.waitKey(0) # 无限等待一个键击,将此键击存在k变量中
if k == 27: # 27代表esc,可以查看ascii码表
cv.destroyAllWindows() # 退出窗口


参考文献:
https://blog.youkuaiyun.com/qq_18343569/article/details/47952591
https://docs.opencv.org/master/da/d54/group__imgproc__transform.html#ga0203d9ee5fcd28d40dbc4a1ea4451983
本文详细介绍了如何使用OpenCV库中的getRotationMatrix2D函数来实现图像的旋转操作。通过设定旋转中心点、角度和缩放因子,生成转换矩阵,并应用warpAffine函数完成图像的旋转与缩放。示例代码展示了如何读取图像、计算旋转矩阵并显示旋转前后的对比效果。
1764

被折叠的 条评论
为什么被折叠?



