最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?包之?Pillow?圖像處理教程分享

 更新時間:2022年04月11日 21:46:15   作者:autofelix  
這篇文章主要介紹了python?包之?Pillow?圖像處理教程分享,文章基于Python的相關資料展開主題相關內(nèi)容,需要的小伙伴可以參考一下

一、安裝

  • 被認為是python官方圖像處理庫
  • PIL非常適合于圖像歸檔以及圖像的批處理任務??梢允褂肞IL創(chuàng)建縮略圖,轉(zhuǎn)換圖像格式,打印圖像等等
  • PIL支持眾多的GUI框架接口,可以用于圖像展示
  • PIL庫同樣支持圖像的大小轉(zhuǎn)換,圖像旋轉(zhuǎn),以及任意的仿射變換
pip install Pillow

二、打開圖片

from PIL import Image

im = Image.open("picture.jpg")
im.show()

三、轉(zhuǎn)換格式并保存

from PIL import Image

im = Image.open("picture.jpg")
im.save("result.png")

四、創(chuàng)建縮略圖

from PIL import Image

im = Image.open("picture.jpg")
im.thumbnail((128, 128))
im.save("result.jpg")

五、獲取圖片屬性

  • 獲取圖像的來源,如果圖像不是從文件讀取它的值就是None。
from PIL import Image

im = Image.open("picture.jpg")
print(im.format)

六、圖片信息

from PIL import Image

im = Image.open("picture.jpg")
print(im.info)

七、調(diào)色板

  • 如果圖像的模式是“P”,則返回Image  Palette類的實例;否則,將為None
from PIL import Image

im = Image.open("picture.jpg")
print(im.palette)

八、畫板

  • 使用給定的變量mode和size生成畫板
from PIL import Image

im= Image.new("RGB", (128, 128), "#FF0000")
im.show()

九、圖片模式

  • 圖像的模式,常見如下
  • L:8位像素,黑白
  • P:9位像素,使用調(diào)色板映射到任何其他模式
  • 1:1位像素,黑白圖像,存成8位像素
  • RGB:3*8位像素,真彩
  • RGBA:4*8位像素,真彩+透明通道
  • CMYK:4*8位像素,印刷四色模式或彩色印刷模式
  • YCbCr:3*8位像素,色彩視頻格式
  • I:32位整型像素
  • F:33位浮點型像素
from PIL import Image

im = Image.open("picture.jpg")
print(im.mode)

十、模式轉(zhuǎn)換

  • 將當前圖像轉(zhuǎn)換為其他模式,并且返回新的圖像
from PIL import Image

im = Image.open("picture.jpg")
new_im = im.convert('L')
print(new_im.mode)
new_im.show()

十一、矩陣模式轉(zhuǎn)換

  • 使用轉(zhuǎn)換矩陣將一個“RGB”圖像轉(zhuǎn)換為“L”或者“RGB”圖像
from PIL import Image

im = Image.open("picture.jpg")
print(im.mode)
matrix = (0.412453,0.357580, 0.180423, 0,
0.212671,0.715160, 0.072169, 0,
0.019334,0.119193, 0.950227, 0 )
new_im = im.convert("L", matrix)
print(new_im.mode)
new_im.show()

十二、圖片尺寸

  • 獲取圖像的尺寸,按照像素數(shù)計算,它的返回值為寬度和高度的二元組
from PIL import Image

im = Image.open("picture.jpg")
print(im.size)
?

十三、通道分離

  • 返回當前圖像各個通道組成的一個元組
  • 分離一個 RGB 圖像將產(chǎn)生三個新的圖像
  • 分別對應原始圖像的每個通道紅、綠、藍三張圖片
from PIL import Image

im = Image.open("picture.jpg")

r,g,b = im.split()
print(r.mode)
print(r.size)
print(im.size)

十四、復制、裁剪、粘貼、合并

from PIL import Image

im = Image.open("picture.jpg")
# 復制
im.copy()
# 裁剪
im.crop((100, 100, 400, 400))
# 將一張圖粘貼到另一張圖像上
im.paste(im.transpose(Image.ROTATE_180),im)
# 合并類使用一些單通道圖像,創(chuàng)建一個新的圖像
Image.merge("RGB", im.split())

十五、幾何變換

  • Image類有resize()、rotate()和transpose()、transform()方法進行幾何變換
from PIL import Image

im = Image.open("picture.jpg")

# 修改尺寸
im.resize((128, 128))
# 角度旋轉(zhuǎn)
im.rotate(45)
# 返回當前圖像的翻轉(zhuǎn)或者旋轉(zhuǎn)的拷貝
# 值為:FLIP_LEFT_RIGHT,F(xiàn)LIP_TOP_BOTTOM,ROTATE_90,ROTATE_180,ROTATE_270
im.transpose(Image.ROTATE_90)
# 用給定的尺寸生成一張新的圖像,與原圖有相同的模式
im.transform((200, 200), Image.EXTENT, (0, 0, 300, 300))

十六、高級圖片處理

  • 使用ImageEnhance對象就能快速地進行設置。 可以調(diào)整對比度、亮度、色平衡和銳利度
from PIL import Image
from PIL import ImageEnhance

im = Image.open("picture.jpg")
enh = ImageEnhance.Contrast(im)
enh.enhance(1.3).show("30% more contrast")

十七、濾波器處理

from PIL import Image
from PIL import ImageFilter

im = Image.open("picture.jpg")
# 均值濾波
im1 = im.filter(ImageFilter.BLUR)
# 找輪廓
im2 = im.filter(ImageFilter.CONTOUR)
# 邊緣檢測
im3 = im.filter(ImageFilter.FIND_EDGES)
im.show()
im1.show()
im2.show()
im3.show()

十八、設置透明度合成兩張圖

  • 使用給定的兩張圖像及透明度變量alpha,生成一張新的圖像
  • 變量alpha值在0和1之間
  • 若變量alpha為0.0,返回第一張圖像的拷貝。若變量alpha為1.0,將返回第二張圖像的拷貝。
from PIL import Image

im1 = Image.open("picture1.jpg")
im2 = Image.open("picture2.jpg")
im = Image.blend(im1, im2, 0.30)
im.show()

十九、設置模式合成兩張圖

  • 使用給定的兩張圖像及mask圖像作為透明度,生成一張新的圖像
  • 圖像的模式可以為“1”,“L”或者“RGBA”
  • 所有圖像必須有相同的尺寸
from PIL import Image

im1 = Image.open("picture1.jpg")
im2 = Image.open("picture2.jpg")
im = Image.composite(im1, im2, 'L')
im.show()

二十、草稿模式

  • 速度要求比質(zhì)量高的場合
  • 允許在不讀取文件內(nèi)容的情況下盡可能(可能不會完全等于給定的參數(shù))地將圖片轉(zhuǎn)成給定模式和大小,這在生成縮略圖的時候非常有效
from PIL import Image

im = Image.open("picture.jpg")

print(im.size,im.mode)
new_im = im.draft("L", (200,200))
print(new_im.size,new_im.mode)
new_im.show()

二十一、獲取通道名稱

  • 返回包括每個通道名稱的元組
  • 例如,對于RGB圖像將返回(“R”,“G”,“B”)
from PIL import Image

im = Image.open("picture.jpg")
print(im.getbands())

二十二、獲取包圍盒

  • 計算圖像非零區(qū)域的包圍盒
  • 這個包圍盒是一個4元組,定義了左、上、右和下像素坐標
  • 如果圖像是空的,這個方法將返回空
from PIL import Image

im = Image.open("picture.jpg")
print(im.getbbox())

二十三、獲取像素值

from PIL import Image

im = Image.open("picture.jpg")
print(im.getdata())

二十四、獲取圖片極值

  • 返回一個2元組
  • 包括該圖像中的最小和最大值
from PIL import Image

im = Image.open("picture.jpg")
print(im.getextrema())

二十五、指定位置像素值

from PIL import Image

im = Image.open("picture.jpg")
print(im.getpixel((10,0)))

二十六、獲取圖像直方圖

from PIL import Image

im = Image.open("picture.jpg")
im_histogram = im.histogram()
print(im_histogram[0])

二十七、內(nèi)存分配

  • 為圖像分配內(nèi)存并從文件中加載它
  • 返回一個用于讀取和修改像素的像素訪問對象
from PIL import Image

im = Image.open("picture.jpg")
pix = im.load()
print(pix[0,2])

二十八、查找指定的幀

  • 給定的動態(tài)圖中查找指定的幀
  • 如果查找超越了序列的末尾,則產(chǎn)生一個EOFError異常
  • 當文件被打開時,PIL庫自動指定到第0幀上
from PIL import Image

im_gif = Image.open("loading.gif")
print(im_gif.mode)
# 默認打開時是第0幀
im_gif.show()
im_gif.seek(1)
im_gif.show()
im_gif.seek(3)
im_gif.show()

二十九、獲取當前幀位置

from PIL import Image

im_gif = Image.open("loading.gif")
print(im_gif.tell())
im_gif.seek(3)
print(im_gif.tell())

到此這篇關于python 包之 Pillow 圖像處理教程分享的文章就介紹到這了,更多相關python   Pillow 圖像處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python項目打包成apk或者其他端的應用程序

    Python項目打包成apk或者其他端的應用程序

    本文主要介紹了使用Kivy和Buildozer將Python項目打包成Android APK文件的步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • 高斯衰減python實現(xiàn)方式

    高斯衰減python實現(xiàn)方式

    這篇文章主要介紹了高斯衰減python實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python虛擬環(huán)境virtualenv的使用教程

    python虛擬環(huán)境virtualenv的使用教程

    本篇文章主要介紹了python虛擬環(huán)境virtualenv的使用教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Python利用裝飾器實現(xiàn)類似于flask路由

    Python利用裝飾器實現(xiàn)類似于flask路由

    這篇文章主要為大家詳細介紹了Python如何利用裝飾器實現(xiàn)類似于flask路由,文中的示例代碼講解詳細,對我們深入了解Python有一點的幫助,感興趣的可以了解一下
    2023-02-02
  • python實現(xiàn)將文本轉(zhuǎn)換成語音的方法

    python實現(xiàn)將文本轉(zhuǎn)換成語音的方法

    這篇文章主要介紹了python實現(xiàn)將文本轉(zhuǎn)換成語音的方法,涉及Python中pyTTS模塊的相關使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python實現(xiàn)Linux下守護進程的編寫方法

    Python實現(xiàn)Linux下守護進程的編寫方法

    這篇文章主要介紹了Python實現(xiàn)Linux下守護進程的編寫方法,比較實用的一個技巧,需要的朋友可以參考下
    2014-08-08
  • python中requests庫session對象的妙用詳解

    python中requests庫session對象的妙用詳解

    這篇文章主要介紹了python中requests庫session對象的妙用詳解,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • python獲取本機所有IP地址的方法

    python獲取本機所有IP地址的方法

    這篇文章主要為大家詳細介紹了python獲取本機所有IP地址的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Python讀取URL生成PDF的方法步驟

    Python讀取URL生成PDF的方法步驟

    URL(Uniform Resource Locator)是用于標識和定位網(wǎng)絡上資源的字符串,本文將給大家介紹Python讀取URL生成PDF的方法步驟,文中有相關的代碼示例和圖文講解供大家參考,需要的朋友可以參考下
    2024-07-07
  • Python學習之字符串格式化

    Python學習之字符串格式化

    這篇文章主要介紹了Python實現(xiàn)字符串格式化輸出的方法,結合具體實例形式總結分析了Python字符串格式化輸出的各種常用操作技巧,需要的朋友可以參考下
    2021-10-10

最新評論

灵川县| 泗阳县| 项城市| 磴口县| 罗定市| 昌邑市| 自治县| 博野县| 平乡县| 临沧市| 彰化县| 灌南县| 南投市| 潜山县| 固始县| 西乌珠穆沁旗| 威海市| 武夷山市| 基隆市| 措勤县| 青河县| 家居| 伊金霍洛旗| 大竹县| 施甸县| 临邑县| 崇左市| 宣威市| 潞西市| 枣强县| 刚察县| 孝感市| 镇安县| 扎鲁特旗| 通辽市| 衡阳市| 永春县| 江口县| 天柱县| 武功县| 孟州市|