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