Heim > Artikel > Backend-Entwicklung > So ändern Sie die Größe, beschneiden, drehen und spiegeln Bilder in Python
Zuallererst sind unsere Originalbilder 10 Bilder unterschiedlicher Größe, die wie folgt aus dem Internet heruntergeladen wurden:
Vorgang 1: Größe ändern Passen Sie die Größe des Bildes an Gleiche Größe (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))
#图像随机剪裁和中心剪裁 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))
#随机旋转 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))
#图片依概率翻转,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))
Das Folgende zeigt das Bild nach der Operation:
Von oben nach unten ist jede Zeile das Ergebnis der Größenänderung, des Zuschneidens in der Mitte, des Spiegelns, des zufälligen Zuschneidens und der zufälligen Drehung.
Einzelne Bildtransformationsgröße – img.resize()Dies ist eine Lernerfahrung Das einfache Programm, das Sie übergeben haben, kann die Größe des Bildes ändern, entweder JPG oder 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)Diese Funktion img.resize((width, height),Image.ANTIALIAS)
Der zweite Parameter:
Image.NEAREST
: Niedrige Qualität Image.NEAREST
:低质量
Image.BILINEAR
:双线性
Image.BICUBIC
:三次样条插值
Image.ANTIALIAS
Image.BILINEAR
: Bilinear Image.BICUBIC
: Kubische Spline-Interpolation 🎜🎜🎜 🎜Image.ANTIALIAS
: hohe Qualität🎜🎜🎜Das obige ist der detaillierte Inhalt vonSo ändern Sie die Größe, beschneiden, drehen und spiegeln Bilder in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!