在OpenCV Python中使用cv2.flip()水平和垂直翻转图像

644 阅读2分钟

在本教程中,我们将展示如何在OpenCV Python中使用cv2.flip()函数翻转图像。翻转是一种非常常见的图像变换技术,它可以在水平或垂直方向上产生图像的镜像反转。我们将向你展示如何通过使用OpenCV的cv2.flip()函数来水平和垂直翻转图像的例子。

在OpenCV Python中翻转图像:cv2.flip()

在OpenCV Python中有一个cv2.flip()函数,可以毫不费力地翻转图像。让我们首先了解它的语法,如下

语法

cv2.flip(src, dst, flipCode)

  • src - 输入图像的数组
  • dst- 与src相同大小和类型的输出图像数组
  • flipCode- 这决定了你想应用于图像的翻转类型。负数如-1产生垂直翻转,正数如1产生水平翻转,而0产生水平和垂直翻转。

cv2.flip()在Python OpenCV中的例子

导入OpenCV库

首先,让我们导入OpenCV库,如下图所示

在[0]中:

import cv2

读取样本图像并显示

接下来,我们将为我们的例子读取一个样本图像并显示它

在[1]中:

window_name='Dog Image'
cv2.namedWindow(window_name, cv2.WINDOW_NORMAL)
cv2.imshow(window_name,img)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

OpenCV Python Flip Image Example

例子 - 1: 用cv2.flip()水平翻转图像

要水平翻转图像,即沿Y轴翻转,我们需要传递一个正值的flipCode。在这个例子中,我们将flipCode = 1与图像名称一起传递。

在[2]中:

horizontal_flip = cv2.flip(img, 1)

window_name='OpenCV Python Flip Image Horizontally'
cv2.namedWindow(window_name, cv2.WINDOW_NORMAL)
cv2.imshow(window_name,horizontal_flip)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

OpenCV Python cv2.flip() Example of Horizontal Flip

例子 - 2: 用cv2.flip()垂直翻转图像

要垂直翻转图像,即沿X轴翻转,我们需要给flipCode提供一个0。在这个例子中,我们将flipCode = 0与图像名称一起传递。

在[3]中:

vertical_flip = cv2.flip(img, 0)

window_name='OpenCV Python Flip Image Vertically'
cv2.namedWindow(window_name, cv2.WINDOW_NORMAL)
cv2.imshow(window_name,vertical_flip)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

OpenCV Python cv2.flip() Example of Vertically Flip

例子 - 3: 用cv2.flip()对图像进行水平和垂直翻转

要想在垂直和水平方向上翻转图像,即沿x轴和y轴翻转,我们需要给flipCode提供一个负值。在这个例子中,我们将flipCode = -1与图像名称一起分配。

在[4]中:

vertical_horizontal_flip = cv2.flip(img, -1)

window_name='OpenCV Python Flip Image Both Vertically and Horizontally'
cv2.namedWindow(window_name, cv2.WINDOW_NORMAL)
cv2.imshow(window_name,vertical_horizontal_flip)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

OpenCV Python cv2.flip() Example of Horizontal and Vertical Flip

总结

希望你觉得这个关于如何在OpenCV中翻转图像的简短教程很有帮助。我们首先了解了cv2 flip()函数的语法,以及垂直和水平翻转图像的不同类型的例子。

参考资料 -OpenCV文档