這篇“Python如何對圖片進行resize、裁剪、旋轉(zhuǎn)、翻轉(zhuǎn)”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python如何對圖片進行resize、裁剪、旋轉(zhuǎn)、翻轉(zhuǎn)”文章吧。
成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于做網(wǎng)站、網(wǎng)站設計、晉源網(wǎng)絡推廣、微信平臺小程序開發(fā)、晉源網(wǎng)絡營銷、晉源企業(yè)策劃、晉源品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供晉源建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
首先我們的原始圖片是10張網(wǎng)上下載尺寸不一的圖片,如下:
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) #第一個參數(shù)為想要的size,第二個參數(shù)為插值方法,雙線性插值這里用的是 im.save('{}/{}.jpg'.format(rdir, i))
#圖像隨機剪裁和中心剪裁 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)) #隨機剪裁 random_image = RandomCrop(img) random_image.save('{}/rand_crop{}.jpg'.format(rdir, i))
#隨機旋轉(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為隨機旋轉(zhuǎn)的角度 rr_image = RR(img) rr_image.save('{}/rand_rotation{}.jpg'.format(rdir, i))
#圖片依概率翻轉(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為概率,缺省時默認0.5 hf_image = HF(img) hf_image.save('{}/hori_flip{}.jpg'.format(rdir, i))
下面展示一下操作后的圖片:
從上到下每行依次為resize、中心裁剪、翻轉(zhuǎn)、隨機裁剪和隨機旋轉(zhuǎn)的結(jié)果
這個是一段學過的簡單程序,可以改變圖像的大小,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)
這個函數(shù)img.resize((width, height),Image.ANTIALIAS)
第二個參數(shù):
Image.NEAREST
:低質(zhì)量
Image.BILINEAR
:雙線性
Image.BICUBIC
:三次樣條插值
Image.ANTIALIAS
:高質(zhì)量
以上就是關于“Python如何對圖片進行resize、裁剪、旋轉(zhuǎn)、翻轉(zhuǎn)”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關的知識內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。