国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python環(huán)境Pillow( PIL )圖像處理工具使用解析

2019-11-02 14:13:35
字體:
供稿:網(wǎng)友

前言

由于筆者近期的研究課題與圖像后處理有關(guān),需要通過圖像處理工具對圖像進行變換和處理,進而生成合適的訓練圖像數(shù)據(jù)。該系列文章即主要記錄筆者在不同的環(huán)境下進行圖像處理時常用的工具和庫。在 Python 環(huán)境下,對圖像的處理筆者主要使用 Pillow 庫,主要操作包括對圖像的讀取、存儲和變換等。實際應用中,Pillow 中提供的 Image 模塊適合對圖像整體進行變換處理操作。

注:以下介紹僅包括對應模塊和函數(shù)的基礎(chǔ)用法,故而在介紹時省略了部分參數(shù)和選項,更完備的用法和介紹可參考 Pillow 的官方文檔。

安裝

用戶可通過 pip 直接安裝 Pillow,更多安裝方式可以參見這里。

pip install Pillow #安裝 pillow

使用

在日常應用過程中,使用最多的是 Pillow 提供的 Image 模塊,其提供了包括圖像存儲、變換以及一系列的相關(guān)處理功能。Pillow 使用 Image 對象來表示圖像對象并基于其定義圖像的屬性信息以及可針對其進行的操作,后續(xù)即主要介紹通過 Image 對象可進行的圖像操作。在 Python 中使用時,用戶首先需從 PIL 中導入對應的 Image 模塊。

from PIL import Image #通過 Image 進行圖像處理相關(guān)的操作

圖像讀取與存儲

通過 Image 提供的 open 方法讀取圖像,其以指定的文件名為參數(shù),返回值為對應圖像的 Image 對象,后續(xù)即可針對圖像對應的 Image 對象進行操作。

  im = Image.open( "test.png" )  # open 方法以圖像名(或圖像對象)為參數(shù),返回一個 Image 對象

通過 Image 對象的 save 方法存儲圖像對象,其使用存儲目標文件名為參數(shù),也可通過 format 參數(shù)指定存儲文件的格式。

  im.save( "test.png" )          # im 為 Image 對象,其被保存至 test.png,不指定 format 參數(shù)時,該方法通過文件后綴推測文件類型  im.save( "test.jpg" , format="JPEG")  # 以 JPEG 格式保存 Image 對象 im 至文件 test.jpg 中

基本屬性

圖像對應的 Image 對象具備基本屬性。用戶可以通過這些屬性獲得圖像最基本的信息,Image 對象的完整屬性信息可以查看這里。

  im.filename    # Image 對象 im 對應的文件/路徑名  im.mode      # Image 對象圖像數(shù)據(jù)的解釋方式,如灰度圖為 “L”,彩色圖為 “RGB”等  im.size      # 返回圖像的尺寸信息,為( width , height ) 格式的元祖

圖像類型轉(zhuǎn)換

不同的圖像數(shù)據(jù)具有不同的圖像格式,進而擁有不同的組織數(shù)據(jù)的方式。對于 RGB 圖像而言,圖像擁有 R、G、B 三個通道,像素數(shù)據(jù)由三個對應三通道的 8 bit 數(shù)據(jù)組成;對于黑白圖像而言,其每個像素由一個 8 bit 字節(jié)表示等等。在打開圖像時,open 方法會自動解析圖像的格式,用戶可通過 Image 對象的 mode 屬性獲得圖像的狀態(tài)。

Image 對象可通過 convert 方法進行圖像類型間的轉(zhuǎn)換,其使用轉(zhuǎn)換的目標類型的字符串為參數(shù),返回轉(zhuǎn)換后的 Image 對象,常見的類型包括 RGB(真彩)、L(黑白)、YCbCr(視頻圖像)、HSV(色調(diào)飽和度亮度彩色空間)。

  data = im.convert( "L" )    #獲得 RGB 圖像 im 的灰度圖

與 numpy 數(shù)組的轉(zhuǎn)換

在程序中,一般使用圖像對應的 Image 對象進行圖像相關(guān)的操作,針對圖像數(shù)據(jù)本身的計算處理一般將 Image 對象的數(shù)據(jù)轉(zhuǎn)換為 numpy 數(shù)據(jù)后進行,處理完成之后的 numpy 數(shù)據(jù)再被轉(zhuǎn)換為 Image 對象進行保存。

a. 將 Image 對象轉(zhuǎn)換為 numpy 數(shù)組

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹰潭市| 延寿县| 宜春市| 阿瓦提县| 克东县| 新蔡县| 贵溪市| 浦北县| 沂源县| 日照市| 金湖县| 汉阴县| 上栗县| 修水县| 定陶县| 图木舒克市| 水城县| 屏边| 吉安市| 肇源县| 大渡口区| 贡嘎县| 亚东县| 周宁县| 南康市| 西青区| 图木舒克市| 石屏县| 弥渡县| 怀宁县| 黄冈市| 辉南县| 阿坝县| 达拉特旗| 全椒县| 凤凰县| 闽侯县| 海丰县| 萨迦县| 通许县| 盈江县|