欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python對圖片進(jìn)行resize、裁剪、旋轉(zhuǎn)、翻轉(zhuǎn)問題

 更新時(shí)間:2023年05月04日 09:34:17   作者:是康康啊  
這篇文章主要介紹了Python對圖片進(jìn)行resize、裁剪、旋轉(zhuǎn)、翻轉(zhuǎn)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

對圖片進(jìn)行resize、裁剪、旋轉(zhuǎn)、翻轉(zhuǎn)

圖片處理時(shí)常用的手段有resize、裁剪、旋轉(zhuǎn)、翻轉(zhuǎn),簡單介紹一下python中怎么利用PIL庫和torchvision庫來對圖片進(jìn)行這幾項(xiàng)操作。

首先我們的原始圖片是10張網(wǎng)上下載尺寸不一的圖片,如下:

操作1:resize 將圖片resize到相同尺寸(320,240)

from PIL import Image
import torchvision.transforms as transforms
#使用PIL庫讀入圖片并進(jìn)行resize
def ResizeImage():
    if not os.path.exists(rdir):
        os.makedirs(rdir)
    for i in range(10):
        im = Image.open(dir+str(i)+".jpg")
        im = im.resize((320,240),Image.BILINEAR)  #第一個(gè)參數(shù)為想要的size,第二個(gè)參數(shù)為插值方法,雙線性插值這里用的是
        im.save('{}/{}.jpg'.format(rdir, i))

操作2:剪裁(包括圍繞中心剪裁和隨機(jī)剪裁)

#圖像隨機(jī)剪裁和中心剪裁
def crop(lib):
    for i in range(10):
        img = Image.open(lib+"/"+str(i)+".jpg")
        CenterCrop = transforms.CenterCrop((240,320))   #中心裁剪
        cropped_image = CenterCrop(img)  #PIL.Image.Image
        # im=np.array(cropped_image)  #可以將PIL.Image.Image轉(zhuǎn)成ndarry
        #cropped_image.show()    #將圖片顯示
        cropped_image.save('{}/cen_crop{}.jpg'.format(rdir, i))
        RandomCrop = transforms.RandomCrop(size=(240, 320))  #隨機(jī)剪裁
        random_image = RandomCrop(img)
        random_image.save('{}/rand_crop{}.jpg'.format(rdir, i))

操作3:隨機(jī)旋轉(zhuǎn)

#隨機(jī)旋轉(zhuǎn)
def random_rotation(lib):
    for i in range(10):
        img = Image.open(lib+"/"+str(i)+".jpg")
        RR = transforms.RandomRotation(degrees=(10, 80))   #degrees為隨機(jī)旋轉(zhuǎn)的角度
        rr_image = RR(img)
        rr_image.save('{}/rand_rotation{}.jpg'.format(rdir, i))

操作4:翻轉(zhuǎn)

#圖片依概率翻轉(zhuǎn),p為翻轉(zhuǎn)的概率
def horizontal_flip(lib):
    for i in range(10):
        img = Image.open(lib+"/"+str(i)+".jpg")
        HF = transforms.RandomHorizontalFlip(p=1.0)  #p為概率,缺省時(shí)默認(rèn)0.5
        hf_image = HF(img)
        hf_image.save('{}/hori_flip{}.jpg'.format(rdir, i))

下面展示一下操作后的圖片:

從上到下每行依次為resize、中心裁剪、翻轉(zhuǎn)、隨機(jī)裁剪和隨機(jī)旋轉(zhuǎn)的結(jié)果

單張圖像變換大小——img.resize()

這個(gè)是一段學(xué)過的簡單程序,可以改變圖像的大小,jpg,png都可以的:

#encoding=utf-8
#author: walker
#date: 2014-05-15
#function: 更改圖片尺寸大小
from PIL import Image
'''
filein: 輸入圖片
fileout: 輸出圖片
width: 輸出圖片寬度
height:輸出圖片高度
type:輸出圖片類型(png, gif, jpeg...)
'''
def ResizeImage(filein, fileout, width, height, type):
? img = Image.open(filein)
? out = img.resize((width, height),Image.ANTIALIAS) #resize image with high-quality
? out.save(fileout, type)
if __name__ == "__main__":
? filein = r'0.jpg'
? fileout = r'testout.png'
? width = 6000
? height = 6000
? type = 'png'
? ResizeImage(filein, fileout, width, height, type)

這個(gè)函數(shù)img.resize((width, height),Image.ANTIALIAS)

第二個(gè)參數(shù):

  • Image.NEAREST :低質(zhì)量
  • Image.BILINEAR:雙線性
  • Image.BICUBIC :三次樣條插值
  • Image.ANTIALIAS:高質(zhì)量

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python可變參數(shù)*args和**kwargs

    Python可變參數(shù)*args和**kwargs

    本文我們將通過示例了解 Python函數(shù)的可變參數(shù)*args和?**kwargs的用法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python類成員繼承重寫的實(shí)現(xiàn)

    Python類成員繼承重寫的實(shí)現(xiàn)

    這篇文章主要介紹了Python類成員繼承重寫的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • PyTorch中torch.load()的用法和應(yīng)用

    PyTorch中torch.load()的用法和應(yīng)用

    torch.load()它用于加載由torch.save()保存的模型或張量,本文主要介紹了PyTorch中torch.load()的用法和應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Python代碼調(diào)用執(zhí)行shell踩坑解決

    Python代碼調(diào)用執(zhí)行shell踩坑解決

    這篇文章主要為大家介紹了Python代碼調(diào)用執(zhí)行shell,踩過的坑解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • python算法與數(shù)據(jù)結(jié)構(gòu)之單鏈表的實(shí)現(xiàn)代碼

    python算法與數(shù)據(jù)結(jié)構(gòu)之單鏈表的實(shí)現(xiàn)代碼

    鏈表是一種物理存儲(chǔ)單元上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。這篇文章主要介紹了python算法與數(shù)據(jù)結(jié)構(gòu)之單鏈表的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2019-06-06
  • 淺談Python traceback的優(yōu)雅處理

    淺談Python traceback的優(yōu)雅處理

    這篇文章主要介紹了淺談Python traceback的優(yōu)雅處理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • 詳解Python?Requests庫中的重試策略

    詳解Python?Requests庫中的重試策略

    在Python中,requests庫是處理HTTP請求的標(biāo)準(zhǔn)工具之一,這篇文章主要為大家介紹了如何在requests中實(shí)現(xiàn)請求的自動(dòng)重試,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • pygame實(shí)現(xiàn)貪吃蛇游戲(上)

    pygame實(shí)現(xiàn)貪吃蛇游戲(上)

    這篇文章主要為大家詳細(xì)介紹了pygame實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Python的Django框架中的表單處理示例

    Python的Django框架中的表單處理示例

    這篇文章主要介紹了Python的Django框架中的表單處理示例,表單處理是Django中的基礎(chǔ)操作,需要的朋友可以參考下
    2015-07-07
  • Python使用multiprocessing模塊實(shí)現(xiàn)多進(jìn)程并發(fā)處理大數(shù)據(jù)量的示例代碼

    Python使用multiprocessing模塊實(shí)現(xiàn)多進(jìn)程并發(fā)處理大數(shù)據(jù)量的示例代碼

    這篇文章主要介紹了Python使用multiprocessing模塊實(shí)現(xiàn)多進(jìn)程并發(fā)處理大數(shù)據(jù)量的示例代碼,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01

最新評(píng)論