本篇 ShengYu 將介紹如何使用 Python 來水平翻轉、垂直翻轉圖片,在做影像處理時常常會需要用水平翻轉、垂直翻轉圖片的功能,這邊我們使用 python 的 PIL 模組來作圖片的水平翻轉、垂直翻轉。
安裝 PIL
基本上新版本的 Python 應該都有內建 PIL,如果還未安裝 PIL 的話請參考這篇。
水平翻轉範例
以下範例是 ShengYu 將 lena.jpg 這張圖片透過 transpose() 函式並帶入參數 Image.FLIP_LEFT_RIGHT 來作水平左右翻轉,最後顯示並且存檔。
另外也可使用 ImageOps.mirror() 也有同樣效果。
1 | #!/usr/bin/env python3 |
結果如下圖所示:
左邊為原圖,右邊為水平翻轉後的圖。
垂直翻轉範例
以下範例是 ShengYu 將 lena.jpg 這張圖片透過 transpose() 函式並帶入參數 Image.FLIP_TOP_BOTTOM 來作垂直上下翻轉,最後顯示並且存檔。
transpose() 參數帶入 Image.ROTATE_180 參數也是一樣垂直上下翻轉的效果。
另外也可以使用 ImageOps.flip(),效果也是一樣的。
1 | #!/usr/bin/env python3 |
結果如下圖所示:
左邊為原圖,右邊為垂直翻轉後的圖。
常用參數說明
這邊列出 transpose() 函式常用的參數,Image.FLIP_LEFT_RIGHT
︰水平左右翻轉Image.FLIP_TOP_BOTTOM
︰垂直上下翻轉Image.ROTATE_90
︰逆時針旋轉90度Image.ROTATE_180
︰逆時針旋轉180度Image.ROTATE_270
︰逆時針旋轉270度
Image.transpose 參數的詳細細節請參考這裡
ImageOps.mirror 參數的詳細細節請參考這裡
ImageOps.flip 參數的詳細細節請參考這裡
相關主題
Python 旋轉圖片 rotate
Python 縮放圖片 resize
Python 裁切裁剪圖片 crop
Python 圖片模糊化 blur
Python 在圖片上繪製文字