0 、使用旋转矩阵旋转
import cv2
img = cv2.imread('img.jpg', 1)
(h, w) = img.shape[:2] # 获取图像的宽和高
# 定义旋转中心坐标
center = (w / 2, h / 2)
# 定义旋转角度
angle = 90
# 定义缩放比例
scale = 1
# 获得旋转矩阵
M = cv2.getRotationMatrix2D(center, angle, scale)
# 进行旋转操作
result = cv2.warpAffine(img, M, (w, h))
# 显示旋转后的图片
cv2.imshow('result', result)
# 按下任意键退出
cv2.waitKey(0)
cv2.destroyAllWindows()
注:该方法旋转结果并不会对图像大小发生改变。
原图:
旋转结果:
文章来源:https://www.toymoban.com/news/detail-704566.html
1、通过转置反转进行旋转,该方法只能旋转90°的整数倍
import cv2
def cv_img_rotate(img,t=1):
# 旋转 t=1 90° t=0 180° t=-1 -90°
if t == 1 :
# 顺时针90度
img = cv2.transpose(img)
img = cv2.flip(img, 1)
elif t == 0:
# 顺时针180度
img = cv2.flip(img, 1)
img = cv2.flip(img, 0)
elif t == -1:
# 逆时针90°
img = cv2.flip(img, 1)
img = cv2.transpose(img)
return img
img = cv2.imread('img.jpg', 1)
# 显示原始图片
cv2.imshow('img', img)
# 按下任意键退出
cv2.waitKey(0)
# 旋转图像
img = cv_img_rotate(img,t=1)
# 显示旋转后的图片
cv2.imshow('result', img)
# 按下任意键退出
cv2.waitKey(0)
cv2.destroyAllWindows()
# 这里使用了 1 -1 0 主要是可以在反转回原图时可以直接使用 -t 进行还原
该方法可以理解为整个旋转了图像。
旋转结果
文章来源地址https://www.toymoban.com/news/detail-704566.html
到了这里,关于opencv旋转图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!