本篇 ShengYu 介紹 Python OpenCV 來作影像垂直翻轉,影像水平翻轉 flip,在寫 Python 影像處理程式時遇到圖片顛倒需要翻轉的功能時,可以使用 OpenCV cv2.flip()
函式,接下來介紹怎麼使用 Python 搭配 OpenCV 模組來進行圖片垂直翻轉,水平翻轉 flip。
cv2.flip 垂直翻轉範例
以下範例是先將 lena.jpg 這張圖片透過 cv2.imread()
函式讀入後,再使用 cv2.flip()
作翻轉的處理,垂直翻轉的話就在 cv2.flip()
第二個參數帶入 0 即可,最後用 cv2.imshow()
顯示影像。詳細程式碼如下,1
2
3
4
5
6
7
8
9
10
11#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cv2
image = cv2.imread("lena.jpg")
cv2.imshow("before", image)
image2 = cv2.flip(image, 0) # 上下垂直翻轉
cv2.imshow("after", image2)
cv2.waitKey(0)
結果如下圖所示:
cv2.flip 水平翻轉範例
如果要水平翻轉或者是左右翻轉的話,就在 cv2.flip()
第二個參數帶入 1 即可,詳細程式碼如下,1
2
3
4
5
6
7
8
9
10
11#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cv2
image = cv2.imread("lena.jpg")
cv2.imshow("before", image)
image2 = cv2.flip(image, 1) # 左右水平翻轉
cv2.imshow("after", image2)
cv2.waitKey(0)
結果如下圖所示:
cv2.flip 垂直水平翻轉範例
這邊結合上述兩種範例作垂直水平翻轉或者上下左右翻轉,在 cv2.flip()
第二個參數帶入 -1 即可,1
2
3
4
5
6
7
8
9
10
11#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import cv2
image = cv2.imread("lena.jpg")
cv2.imshow("before", image)
image2 = cv2.flip(image, -1) # 上下左右翻轉
cv2.imshow("after", image2)
cv2.waitKey(0)
結果如下圖所示:
cv2.flip 參數的詳細細節請參考這裡
其它相關文章推薦
如果你在學習 Python 或 OpenCV 影像處理相關技術,可以參考看看下面的文章,
Python OpenCV resize 圖片縮放
Python OpenCV 垂直vconcat 和水平hconcat 影像拼接
Python 新手入門教學懶人包