中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何對圖片進行resize、裁剪、旋轉、翻轉

發布時間:2023-05-11 10:46:38 來源:億速云 閱讀:146 作者:zzz 欄目:編程語言

這篇“Python如何對圖片進行resize、裁剪、旋轉、翻轉”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python如何對圖片進行resize、裁剪、旋轉、翻轉”文章吧。

    對圖片進行resize、裁剪、旋轉、翻轉

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

    Python如何對圖片進行resize、裁剪、旋轉、翻轉

    操作1:resize 將圖片resize到相同尺寸(320,240)
    from PIL import Image
    import torchvision.transforms as transforms
    #使用PIL庫讀入圖片并進行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)  #第一個參數為想要的size,第二個參數為插值方法,雙線性插值這里用的是
            im.save('{}/{}.jpg'.format(rdir, i))
    操作2:剪裁(包括圍繞中心剪裁和隨機剪裁)
    #圖像隨機剪裁和中心剪裁
    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轉成ndarry
            #cropped_image.show()    #將圖片顯示
            cropped_image.save('{}/cen_crop{}.jpg'.format(rdir, i))
            RandomCrop = transforms.RandomCrop(size=(240, 320))  #隨機剪裁
            random_image = RandomCrop(img)
            random_image.save('{}/rand_crop{}.jpg'.format(rdir, i))
    操作3:隨機旋轉
    #隨機旋轉
    def random_rotation(lib):
        for i in range(10):
            img = Image.open(lib+"/"+str(i)+".jpg")
            RR = transforms.RandomRotation(degrees=(10, 80))   #degrees為隨機旋轉的角度
            rr_image = RR(img)
            rr_image.save('{}/rand_rotation{}.jpg'.format(rdir, i))
    操作4:翻轉
    #圖片依概率翻轉,p為翻轉的概率
    def horizontal_flip(lib):
        for i in range(10):
            img = Image.open(lib+"/"+str(i)+".jpg")
            HF = transforms.RandomHorizontalFlip(p=1.0)  #p為概率,缺省時默認0.5
            hf_image = HF(img)
            hf_image.save('{}/hori_flip{}.jpg'.format(rdir, i))

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

    Python如何對圖片進行resize、裁剪、旋轉、翻轉

    從上到下每行依次為resize、中心裁剪、翻轉、隨機裁剪和隨機旋轉的結果

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

    這個是一段學過的簡單程序,可以改變圖像的大小,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)

    這個函數img.resize((width, height),Image.ANTIALIAS)

    第二個參數:

    • Image.NEAREST :低質量

    • Image.BILINEAR:雙線性

    • Image.BICUBIC :三次樣條插值

    • Image.ANTIALIAS:高質量

    以上就是關于“Python如何對圖片進行resize、裁剪、旋轉、翻轉”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    常宁市| 桦甸市| 工布江达县| 孟州市| 新安县| 扎兰屯市| 邯郸县| 裕民县| 万山特区| 绥棱县| 喀什市| 沂源县| 自贡市| 离岛区| 句容市| 桐乡市| 遂平县| 湖南省| 马关县| 德昌县| 太康县| 南召县| 阳谷县| 应城市| 新建县| 五河县| 玛纳斯县| 新津县| 招远市| 克东县| 泽库县| 洪湖市| 大宁县| 镇巴县| 旌德县| 麻阳| 颍上县| 岗巴县| 金寨县| 正安县| 玉屏|