亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python圖片處理庫(kù)Pillow實(shí)現(xiàn)簡(jiǎn)單PS功能

 更新時(shí)間:2021年11月01日 09:22:46   作者:Python 技術(shù)  
Python 屆處理圖片最強(qiáng)的庫(kù)是 PIL(Python Image Library),但由于該庫(kù)只支持 2.x 版本,在此基礎(chǔ)上做了擴(kuò)展,出了一個(gè)兼容 3.x 的版本也就是 Pillow,因此,我們今天要用的庫(kù)就是Pillow

9d13c8cd16c42f0f8bd386909f0cc1d3.png

文 | 豆豆

來(lái)源:Python 技術(shù)「ID: pythonall」

在我們的日常生活和工作中有不少場(chǎng)景需要簡(jiǎn)單處下理圖片,很多人都是依賴(lài) PS、美圖秀秀等各種圖像處理工具,殊不知在你打開(kāi)軟件的一瞬間 Python 就已經(jīng)將圖片處理完了。聽(tīng)起來(lái)是不是很神奇,正所謂是 Python 在手,啥也不愁。

安裝

老規(guī)矩,先通過(guò) pip 安裝到本地機(jī)器。

pip install Pillow

基本操作

打開(kāi)圖像

可以通過(guò) Image 類(lèi)來(lái)操控圖片,比如打開(kāi)一張圖片并獲取其基本信息。

from PIL import Image, ImageFilter, ImageEnhance, ImageDraw, ImageFont
img = Image.open('cat.png')
print(F'圖片大小為 {img.format}, 格式為 {img.size}, 模式為{img.mode}')
 
# 圖片大小為 JPEG, 格式為 (3458, 3456), 模式為 RGB

轉(zhuǎn)換格式

如果給目標(biāo)圖片轉(zhuǎn)換格式,可以通過(guò) save 函數(shù)來(lái)實(shí)現(xiàn)。

img.save("cat.png ")

之后你就會(huì)在同目錄下得到一張擴(kuò)展名為 png 的圖片了。

97dd4960b536f45df8638ba1ae53f080.jpg

展示圖片

直接通過(guò) show 函數(shù)來(lái)顯示圖片。

img.show()

剪裁

使用 crop 函數(shù)傳入一個(gè)四元祖坐標(biāo)來(lái)剪裁圖片。

point = (1500, 800, 3000, 2300)
img_crop = img.crop(point)
img_crop.show()

516e8ded442411a6f4f4511a4dcf1d07.png

合并

通過(guò) paste 函數(shù)傳入合并的圖像和坐標(biāo)來(lái)實(shí)現(xiàn)兩張圖片的合并,那如果要合并多張圖片呢,當(dāng)然是直接調(diào)用多次就好了呀。

img.paste(img_crop, (0, 0), None)
img.show(

52afdf599b99b3e23ff66f3c6be82efe.png

縮略圖

有時(shí)候圖像過(guò)大,這時(shí)候就顯示出縮略圖的必要了,可以通過(guò) thumbnail 函數(shù)傳入 size 來(lái)實(shí)現(xiàn)圖片的縮小。

thumb_size = (345, 345)
img.thumbnail(thumb_size)
img.show()

2ecd2aef4577550872f2e34a1835ab46.png

旋轉(zhuǎn)

使用 transpose 函數(shù)傳入旋轉(zhuǎn)角度來(lái)實(shí)現(xiàn)圖片的翻轉(zhuǎn)。

可以傳入的參數(shù)有以下幾種:

Image.ROTATE_90:逆時(shí)針旋轉(zhuǎn) 90°

Image.ROTATE_180:逆時(shí)針旋轉(zhuǎn) 180°

Image.ROTATE_270:逆時(shí)針旋轉(zhuǎn) 270°

Image.FLIP_LEFT_RIGHT:左右翻轉(zhuǎn)

Image.FLIP_TOP_BOTTOM:上下翻轉(zhuǎn)

img_rotate = img.transpose(Image.ROTATE_90)
img_rotate.show()

9725812058d7fe9979028f10ae11e833.png

濾鏡

當(dāng)然,我們還可以對(duì)圖片做一些濾鏡處理。

  • 高斯模糊處理
img_gaussianblur = img.filter(ImageFilter.GaussianBlur(30))
img_gaussianblur.show()

d293cd1ae9ac46020730f6dbaba9b7b2.png

  • 獲取照片輪廓
img_contour = img.filter(ImageFilter.CONTOUR)
img_contour.show()

e5488afef44bff97bce40b65ffc542f0.png

  • 亮度增強(qiáng)

如果照片亮度不夠,還可以對(duì)照片進(jìn)行亮度增強(qiáng)。

color = ImageEnhance.Color(img)
img_color = color.enhance(1.5)
img_color.show()

4e2efe29ff8cf6eb578e023bf99eaece.png

二次創(chuàng)作

當(dāng)然,如果想對(duì)圖片進(jìn)行二次創(chuàng)作,比如添加一些輔助線,文字之類(lèi)的可以用 ImageDraw 類(lèi)來(lái)完成。

畫(huà)線

draw = ImageDraw.Draw(img)
draw.line((0, 0) + img.size, fill=20, width=3)
draw.line((0, img.size[1], img.size[0], 0), fill=200, width=3)
img.show()

3e459b70ecdfa5497defa58e7d0dddc6.png

文字

draw = ImageDraw.Draw(img)
font = ImageFont.truetype('AliPuHui-Bold.ttf', 200)
text = 'This is a cat!'
draw.text((450, 450), text, font=font, fill='pink')
img.show()

bc4301923978110e24e68f96f5266429.png

當(dāng)然,如果有多行文字的話,直接加入換行符 \n 即可。

457e6e60caccd58d1e6b4609abfff671.png

總結(jié)

今天派森醬帶大家一起通過(guò)使用 Pillow 庫(kù)對(duì)圖片進(jìn)行一些簡(jiǎn)單的操作,事實(shí)上 Pillow 庫(kù)遠(yuǎn)不止此,將這些簡(jiǎn)單的操作進(jìn)行組合甚至可以自創(chuàng)表情包,期待小伙伴們自行發(fā)掘更多更好玩的用法呀~

以上就是python圖片處理庫(kù)Pillow實(shí)現(xiàn)簡(jiǎn)單PS功能的詳細(xì)內(nèi)容,更多關(guān)于Pillow庫(kù)實(shí)現(xiàn)簡(jiǎn)單PS的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python MySQLdb Linux下安裝筆記

    Python MySQLdb Linux下安裝筆記

    這篇文章主要介紹了Python MySQLdb Linux下安裝筆記,本文分別講解了快速安裝和手動(dòng)編譯安裝兩種方法,并分別講解了操作步驟,需要的朋友可以參考下
    2015-05-05
  • Python獲取基金網(wǎng)站網(wǎng)頁(yè)內(nèi)容、使用BeautifulSoup庫(kù)分析html操作示例

    Python獲取基金網(wǎng)站網(wǎng)頁(yè)內(nèi)容、使用BeautifulSoup庫(kù)分析html操作示例

    這篇文章主要介紹了Python獲取基金網(wǎng)站網(wǎng)頁(yè)內(nèi)容、使用BeautifulSoup庫(kù)分析html操作,結(jié)合實(shí)例形式分析了Python基于urllib包的網(wǎng)頁(yè)內(nèi)容獲取,以及使用BeautifulSoup分析html相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • python爬取新聞門(mén)戶(hù)網(wǎng)站的示例

    python爬取新聞門(mén)戶(hù)網(wǎng)站的示例

    短期目前旨在爬取所有新聞門(mén)戶(hù)網(wǎng)站的新聞,每個(gè)門(mén)戶(hù)網(wǎng)站爬蟲(chóng)開(kāi)箱即用,并自動(dòng)保存到同目錄下的 csv/excel 文件中,禁止將所得數(shù)據(jù)商用。
    2021-04-04
  • python爬取個(gè)性簽名的方法

    python爬取個(gè)性簽名的方法

    這篇文章主要為大家詳細(xì)介紹了python爬取個(gè)性簽名的方法,具有一定的參考價(jià)值,感興趣的朋友可以參考一下
    2018-06-06
  • freeswitch開(kāi)源通信 python模塊介紹

    freeswitch開(kāi)源通信 python模塊介紹

    freeswitch支持多種語(yǔ)言的業(yè)務(wù)開(kāi)發(fā),包括C/C++,java,python,js,lua,Golang等等。freeswitch在使用python做業(yè)務(wù)開(kāi)發(fā)時(shí),有倆種接入方式,一種是ESL接口,另一種是mod_python模塊。本文主要介紹的是fs內(nèi)部的mod_python語(yǔ)言支持模塊,需要的朋友可以參考下面文章內(nèi)容
    2021-09-09
  • Python一行代碼實(shí)現(xiàn)生成和讀取二維碼

    Python一行代碼實(shí)現(xiàn)生成和讀取二維碼

    二維碼被稱(chēng)為快速響應(yīng)碼,可能看起來(lái)很簡(jiǎn)單,但它們能夠存儲(chǔ)大量數(shù)據(jù)。無(wú)論掃描二維碼時(shí)包含多少數(shù)據(jù),用戶(hù)都可以立即訪問(wèn)信息。本文將用一行Python代碼實(shí)現(xiàn)二維碼的讀取與生成,需要的可以參考一下
    2022-02-02
  • django admin 自定義替換change頁(yè)面模板的方法

    django admin 自定義替換change頁(yè)面模板的方法

    今天小編就為大家分享一篇django admin 自定義替換change頁(yè)面模板的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python第三方庫(kù)easydict的使用實(shí)例詳解

    python第三方庫(kù)easydict的使用實(shí)例詳解

    在?Python?中當(dāng)我們需要訪問(wèn)字典中的元素的時(shí)候,我們需要使用類(lèi)似?a['example']?的形式來(lái)進(jìn)行使用,這個(gè)時(shí)候就可以使用 easydict 這個(gè)模塊了,今天通過(guò)本文給大家講解python第三方庫(kù)easydict的使用,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • python中base64編碼簡(jiǎn)介

    python中base64編碼簡(jiǎn)介

    Base64是一種任意二進(jìn)制到文本字符串的編碼方法,常用于在URL、Cookie、網(wǎng)頁(yè)中傳輸少量二進(jìn)制數(shù)據(jù),Base64是一種用64個(gè)字符來(lái)表示任意二進(jìn)制數(shù)據(jù)的方法,這篇文章主要介紹了python中base64編碼,需要的朋友可以參考下
    2022-12-12
  • Python利用神經(jīng)網(wǎng)絡(luò)解決非線性回歸問(wèn)題實(shí)例詳解

    Python利用神經(jīng)網(wǎng)絡(luò)解決非線性回歸問(wèn)題實(shí)例詳解

    這篇文章主要介紹了Python利用神經(jīng)網(wǎng)絡(luò)解決非線性回歸問(wèn)題,結(jié)合實(shí)例形式詳細(xì)分析了Python使用神經(jīng)網(wǎng)絡(luò)解決非線性回歸問(wèn)題的相關(guān)原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07

最新評(píng)論