OpenCV提供了函数 cv.rotate() 以90度的倍数旋转图像(numpy数组)。该函数可以以三种可能的方式使图像旋转:90度,180度和270度顺时针旋转。以下是语法∶
cv2.rotate(img, rotateCode)
rotateCode 是一个旋转标志,指定如何旋转数组。三个旋转标志如下∶
cv2.ROTATE_180
cv2.ROTATE_90_COUNTERCLOCKWISE
要旋转输入图像,可以按照以下步骤进行∶
使用 cv2.imread() 方法读取输入图像。指定图像的完整路径。
使用 cv2.rotate() 函数旋转输入图像。将所需的rotateCode作为参数传递给函数。我们可以传递 cv2.ROTATE_180、cv2.ROTATE_90_CLOCKWISE 或 cv2.ROTATE_90_COUNTERCLOCKWISE 作为参数。
显示旋转后的图像。
让我们看一下旋转输入图像的示例。
我们将在以下示例中使用以下图像作为输入文件∶
在此示例中,我们将输入图像逆时针旋转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热门论文等全套学习资料。
需要以上这些文中提到的资料,请点击此处→【人工智能全套完整VIP资料】即可免费获取。