日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python之PIL库的运用、GIF处理

發布時間:2025/3/21 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python之PIL库的运用、GIF处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.PIL庫簡介

PIL(Python Image Library)庫是Python語言的第三方庫,它支持圖像存儲、顯示和處理,它能夠處理幾乎所有圖片格式,可以完成對圖像的縮放、剪裁、折疊以及像圖片添加線條、圖像和文字等操作。

1.PIL庫主要可以實現圖像歸檔和圖像處理兩方面功能需求

(1)圖像歸檔:對圖像進行批處理、生成圖像預覽、圖像格式轉換等。

(2)圖像處理:圖像基本處理、像素處理、顏色處理等。

二.PIL庫的子庫(共21個)

現僅選取Image類、ImageFilter類與ImageEnhance類進行介紹。

1.Image類

1.1 Image類的圖像讀取與創建

方法描述
Image.open(filename)根據參數加載圖像文件
Image.new(mode,size,color)根據給定參數創建一個新的圖像
Image.open(StringIO.StringIO(buffer))從字符串中獲取圖像
Image.frombytes(mode,size,data)根據像素點data創建圖像
Image.verify()對圖像文件完整性進行檢查,返回異常

?

?

?

?

?

?

?

?

現在通過如下代碼:

1 from PIL import Image 2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') #讀取圖片 3 im.show() #展示圖片

?

然后用系統自帶圖片處理器展示圖片:

?

1. 2 Image類的常用屬性:

方法

說明

Image.format

圖像格式或來源,若圖像不是從文件讀取,返回None

Image.mode

圖像的色彩模式,’L’為灰度模式,’RGB’為真彩色圖像,’C(青)M(品紅)Y(黃)K(黑)’為出版圖像

Image.size

圖像的寬度和高度,單位是像素(px),返回值為元組類型

Image.palette

調色板屬性,返回ImagePalette類型

?

?

?

?

?

?

?

?

?

?

?

1.3 Image類的圖像轉換和保存方法:

方法

說明

Image.save(filename,format)

將圖像保存為filename文件名,format格式

Image.convert(mode)

將圖像轉換為mode模式

Image.thumbnail(size)

創建圖像的縮略圖,size是縮略圖尺寸的元組

?

?

?

?

?

?

?

?

嘗試做圖像的縮略圖,輸入如下代碼:

1 from PIL import Image 2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') 3 im.thumbnail((128,128)) 4 im.save("minifive","PNG")

結果:(超小的)

?

1.4 Image類的圖像像素和通道處理方法:

方法

說明

Image.point(func)

根據函數func的功能對每個元素進行運算,返回圖像副本

Image.split()

根據GRB圖像的每個顏色通道,返回圖像副本

Image.merge(mode,bands)

合成通道,其中mode為色彩,bands為新的色彩通道

Image.blend(im1,im2,alpha)

將2張圖片im1和im2按照公式插值后生成新圖像

公式:im1*(1.0 - alpha) + im2*alpha

?

?

?

?

?

?

?

?

?

?

?

現在我嘗試交換圖像中的顏色,輸入如下代碼:

1 from PIL import Image 2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') 3 r,g,b=im.split() 4 om=Image.merge("RGB",(b,g,r)) 5 om.save('fivebgr.jpg')

原圖——新圖

? ?? (哈哈,有些可怕)

?

2.ImageFilter類(圖像的過濾)

2.1 ImageFilter類預定義圖像過濾方法

方法

說明

ImageFilter.BLUR

圖像的模糊效果

ImageFilter.CONTOUR

圖像的輪廓效果

ImageFilter.DETAIL

圖像的細節效果

ImageFilter.EDGE_ENHANCE

圖像的邊界加強效果

ImageFilter.EDGE_ENHANCE_MORE

圖像的閾值邊界加強效果

ImageFilter.EMBOSS

圖像的浮雕效果

ImageFilter.FIND_EDGES

圖像的邊界效果

ImageFilter.SMOOTH

圖像的平滑效果

ImageFilter.SMOOTH_MORE

圖像的閾值平滑效果

ImageFilter.SHARPEN

圖像的銳化效果

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

有這么多功能,我就嘗試一下其中一個吧。

輸入代碼:

1 from PIL import Image 2 from PIL import ImageFilter 3 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') 4 om=im.filter(ImageFilter.CONTOUR) 5 om.save('fiveCONTOUR.png')

輪廓版圖像:

?

3.ImageEnhance類(圖像增強)

3.1 ImageEnhance類圖像增強與濾鏡方法

方法

說明

ImageEnhance.enhance(factor)

對所選屬性的數值增強factor倍

ImageEnhance.Color(im)

調整圖像的顏色平衡

ImageEnhance.Contrast(im)

調整圖像的對比度

ImageEnhance.Brightness(im)

調整圖像的亮度

ImageEnhance.Sharpness(im)

調整圖像的銳度

?

?

?

?

?

?

?

?

?

?

?

?

在這就不展示了,大家自己嘗試一下吧~

三、GIF

我選取一個gif對它進行分解

輸入代碼:

1 from PIL import Image 2 im=Image.open('D:\\kaixin.gif') 3 try: 4 im.save('picframe{:02d}.png'.format(im.tell())) 5 while True: 6 im.seek(im.tell()+1) 7 im.save('picframe{:02d}.png'.format(im.tell())) 8 except: 9 print("處理結束")

結果:(哇~)

The end...

轉載于:https://www.cnblogs.com/hjy567jiayouya/p/10705528.html

總結

以上是生活随笔為你收集整理的Python之PIL库的运用、GIF处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。