Python圖像處理庫crop()函數(shù)?thumbnail方法使用詳解
PIL和Pillow
PIL(Python Image Library)是一個(gè)非常流行的Python圖像處理庫,但自從2011年以來就沒有更新了。由于此原因,Pillow出現(xiàn)了,它是PIL的替代品,它承載了與PIL相同的接口和功能,并進(jìn)行了很多改進(jìn)和增強(qiáng)。 本文中我們將使用Pillow庫。
crop()函數(shù)
crop()函數(shù)是Pillow庫中非常常用的函數(shù)之一,它可用于無損剪裁圖片。首先需要導(dǎo)入Pillow庫:
from PIL import Image
然后,我們可以使用open()函數(shù)來打開文件:
image = Image.open('example.png')
接下來,假設(shè)我們想要裁剪圖片的中間部分。 我們可以使用crop()函數(shù)來實(shí)現(xiàn):
width, height= image.size new_width = width//2 new_height = height//2 box = (new_width-100, new_height-100, new_width+100, new_height+100) cropped_image = image.crop(box)
crop()函數(shù)的參數(shù)是一個(gè)元組型的四個(gè)整數(shù)列表,表示要裁剪的矩形區(qū)域的左上角和右下角坐標(biāo)。 四個(gè)整數(shù)分別是左上角的x坐標(biāo),左上角的y坐標(biāo),右下角的x坐標(biāo)和右下角的y坐標(biāo)。 在此示例中,我們將圖像裁剪為寬度和高度的一半,并選擇中心部分向外裁剪100個(gè)像素。
最后,我們可以使用save()函數(shù)將新的裁剪圖像保存到本地:
cropped_image.save('cropped_example.png')
thumbnail方法
thumbnail()方法可用于無損壓縮圖片大小。與crop()函數(shù)類似,我們需要首先導(dǎo)入Pillow庫并打開文件。
from PIL import Image image = Image.open('example.png')
我們可以使用thumbnail()方法來將圖片調(diào)整為指定尺寸:
size = 128, 128 resized_image = image.thumbnail(size)
這里,我們將“ size”參數(shù)設(shè)置為 (128,128),表示輸出圖像大小為 128 像素 x 128 像素。由于thumbnail()方法不會(huì)更改原始圖像,所以我們需要將其返回到另一個(gè)變量中。
最后,我們可以使用save()函數(shù)將新的裁剪圖像保存到本地:
resized_image.save('thumbnail_example.png')
值得注意的是,thumbnail()方法可能會(huì)在運(yùn)行時(shí)更改圖像的長(zhǎng)寬比。在使用thumbnail()之前,請(qǐng)確保你是否需要保留圖像的高寬比。
我們還可以使用thumbnail()方法與變量“ percent”配合使用,將圖像大小縮小為原始大小的一定百分比:
percent = 50 resized_image = image.thumbnail((image.size[0] * percent / 100, image.size[1] * percent / 100))
這里,我們將“ size”參數(shù)設(shè)置為 (image.size[0] * percent/100, image.size[1] * percent/100),它會(huì)將圖像的長(zhǎng)和寬都減小到原始大小的 50%。
以上就是Python圖像處理庫crop()函數(shù) thumbnail方法使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Python圖像處理庫crop thumbnail的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于python元祖與字典與集合的粗淺認(rèn)識(shí)
下面小編就為大家?guī)硪黄趐ython元祖與字典與集合的粗淺認(rèn)識(shí)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08Python實(shí)戰(zhàn)之外星人入侵游戲示例代碼
這篇文章主要介紹了利用Python編寫的外星人入侵游戲的示例代碼,文中的代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的可以學(xué)習(xí)一下2022-01-01解決python寫入帶有中文的字符到文件錯(cuò)誤的問題
今天小編就為大家分享一篇解決python寫入帶有中文的字符到文件錯(cuò)誤的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01使用Python對(duì)mongo數(shù)據(jù)庫中字符串型正負(fù)數(shù)值比較大小
這篇文章主要介紹了使用Python對(duì)mongo數(shù)據(jù)庫中字符串型正負(fù)數(shù)值比較大小,2023-04-04python 數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的總結(jié)
這篇文章主要介紹了python 數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的使用總結(jié),幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01pandas讀取Excel批量轉(zhuǎn)換時(shí)間戳的實(shí)踐
本文主要介紹了pandas讀取Excel批量轉(zhuǎn)換時(shí)間戳的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02