网站界面设计有哪些,linux wordpress是什么,河南百度推广电话,南昌响应式网站建设『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】26. 图像的旋转#xff08;以原点为中心#xff09; 图像以原点 (0, 0) 为中心、顺时针旋转角度 θ 进行旋转操作#xff0c;可以由以下公式描述#xff1a; [x~y~1]MAR[xy1],MAR[cosθ−sinθ0s…『youcans 的 OpenCV 例程200篇 - 总目录』 【youcans 的 OpenCV 例程200篇】26. 图像的旋转以原点为中心 图像以原点 (0, 0) 为中心、顺时针旋转角度 θ 进行旋转操作可以由以下公式描述
[x~y~1]MAR[xy1],MAR[cosθ−sinθ0sinθcosθ0001]\begin{bmatrix} \tilde{x}\\ \tilde{y}\\ 1 \end{bmatrix} M_{AR} \begin{bmatrix} x\\ y\\ 1 \end{bmatrix} ,\hspace{1em} M_{AR} \begin{bmatrix} cos \theta -sin \theta 0\\ sin \theta cos \theta 0\\ 0 0 1 \end{bmatrix} ⎣⎡x~y~1⎦⎤MAR⎣⎡xy1⎦⎤,MAR⎣⎡cosθsinθ0−sinθcosθ0001⎦⎤
按上式构造旋转变换矩阵 MAR由函数 cv2.warpAffine 可以计算变换后的绕原点旋转图像。
注意事项
求出旋转变换矩阵 MAR由函数 cv2.warpAffine 可以实现任意角度和任意中心的旋转效果。以图像中心作为旋转中心时可以用 img.shape 获得图像的宽度和高度值除以 2 就是图像中心点坐标。旋转角度为 90180270 度时可以用 cv2.rotate(src, rotateCode) 函数实现该方法实际上是通过矩阵转置实现的因此速度很快。 基本例程1.35 图像的旋转以原点为中心旋转 # 1.35 图像旋转 (以原点 (0,0) 为中心旋转)img cv2.imread(../images/imgLena.tif) # 读取彩色图像(BGR)rows, cols, ch img.shapetheta np.pi / 8.0 # 顺时针旋转角度cosTheta np.cos(theta)sinTheta np.sin(theta)MAT np.float32([[cosTheta, -sinTheta, 0], [sinTheta, cosTheta, 0]]) # 构造旋转变换矩阵# dst cv2.warpAffine(img, MAT, (cols, rows)) # 默认为黑色填充dst cv2.warpAffine(img, MAT, (cols, rows), borderValue(255,255,255)) # 设置白色填充plt.figure(figsize(9,6))plt.subplot(121), plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)), plt.title(Origin)plt.subplot(122), plt.imshow(cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)), plt.title(Rotation)plt.show()本节完 版权声明 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/125112487) Copyright 2022 youcans, XUPT Crated2021-11-18 【第3章图像的几何变换】
26. 图像的旋转以原点为中心 27. 图像的旋转以任意点为中心 28. 图像的旋转直角旋转