如何在OpenCV Python中旋转图像?

如何在OpenCV Python中旋转图像?_第1张图片

OpenCV提供了函数 cv.rotate() 以90度的倍数旋转图像(numpy数组)。该函数可以以三种可能的方式使图像旋转:90度,180度和270度顺时针旋转。以下是语法∶

语法

cv2.rotate(img, rotateCode)

rotateCode 是一个旋转标志,指定如何旋转数组。三个旋转标志如下∶

  • cv2.ROTATE_90_CLOCKWISE

  • cv2.ROTATE_180

  • cv2.ROTATE_90_COUNTERCLOCKWISE

步骤

要旋转输入图像,可以按照以下步骤进行∶

  • 导入所需的库 OpenCV 和 matplotlib 。确保您已经安装它们。

  • 使用 cv2.imread() 方法读取输入图像。指定图像的完整路径。

  • 使用 cv2.rotate() 函数旋转输入图像。将所需的rotateCode作为参数传递给函数。我们可以传递 cv2.ROTATE_180、cv2.ROTATE_90_CLOCKWISE 或 cv2.ROTATE_90_COUNTERCLOCKWISE 作为参数。

  • 显示旋转后的图像。

让我们看一下旋转输入图像的示例。

输入图片

我们将在以下示例中使用以下图像作为输入文件∶

如何在OpenCV Python中旋转图像?_第2张图片

示例

在此示例中,我们将输入图像逆时针旋转180度。

# 导入所需的库
import cv2

# 加载输入图像
img = cv2.imread('leaf.jpg')

# 将图像逆时针旋转180度
img_cw_180 = cv2.rotate(img, cv2.ROTATE_180)

# 显示旋转后的图像
cv2.imshow("Image rotated by 180 degree", img_cw_180)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出结果

当您执行上述程序时,它将生成以下输出窗口∶

注意,输入图像逆时针旋转180度。

让我们看一下OpenCV中提供的其他旋转。

示例

在此示例中,我们将演示如何将输入图像旋转90度、180度和270度。

# 导入必需的库
import cv2
import matplotlib.pyplot as plt

# 加载输入图像
img = cv2.imread('leaf.jpg')

# 将图像转换为灰度图像
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 将图像顺时针旋转90度
img_cw_90 = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)

# 将图像顺时针旋转270度或逆时针旋转90度
img_ccw_90 = cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE)

# 将图像顺时针旋转180度
img_cw_180 = cv2.rotate(img, cv2.ROTATE_180)

# 显示所有图像
plt.subplot(221), plt.imshow(img, 'gray'), plt.title('原始图像
'), plt.axis('off')
plt.subplot(222), plt.imshow(img_cw_90,'gray'), plt.title('90
度顺时针旋转)'), plt.axis('off')
plt.subplot(223), plt.imshow(img_cw_180, 'gray'),
plt.title('180度旋转'), plt.axis('off')
plt.subplot(224), plt.imshow(img_ccw_90, 'gray'),
plt.title('270度顺时针旋转/90度逆时针旋转'), plt.axis('off')
plt.show()

输出

上述程序执行后,将产生以下输出窗口 ─

为帮助更多对人工智能感兴趣的小伙伴们能够有效的系统性的学习以及论文的研究,小编特意制作整理了一份人工智能学习资料给大家,整理了很久,非常全面。

大致内容包括一些人工智能基础入门视频和文档+AI常用框架实战视频、计算机视觉、机器学习、图像识别、NLP、OpenCV、YOLO、pytorch、深度学习与神经网络等学习资料、课件源码、国内外知名精华资源、以及AI热门论文等全套学习资料。

如何在OpenCV Python中旋转图像?_第3张图片
需要以上这些文中提到的资料,请点击此处→【人工智能全套完整VIP资料】即可免费获取。

 

看完三件事❤️

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注作者公众号 『 python深度学习NLP 』,不定期分享原创知识。
  • 关注后回复【666】扫码即可获取学习资料包。
  • 同时可以期待后续文章ing。
     

 如何在OpenCV Python中旋转图像?_第4张图片

 

你可能感兴趣的:(Opencv,opencv,python,人工智能,计算机视觉,机器学习,深度学习,神经网络)