


Comment redimensionner, recadrer, faire pivoter et retourner des images en Python
Redimensionner, recadrer, faire pivoter et retourner les images
Tout d'abord, nos images originales sont 10 images de différentes tailles téléchargées depuis Internet, comme suit :
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))
Opération 2 : Recadrage (y compris le recadrage autour du centre et le recadrage aléatoire)#图像随机剪裁和中心剪裁
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))
Opération 3 : Rotation aléatoire#随机旋转
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))
Opération 4 : Retourner#图片依概率翻转,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))
Ce qui suit montre l'image après l'opération :
Chaque ligne de haut en bas est le résultat d'un redimensionnement, d'un recadrage central, d'un retournement, d'un recadrage aléatoire et d'une rotation aléatoire
Taille de transformation d'image unique - img.resize()C'est une expérience d'apprentissage. un simple programme que vous avez passé peut changer la taille de l'image, soit en jpg, soit en 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)Cette fonction img.resize((width, height),Image.ANTIALIAS)
Le deuxième paramètre :
- Image.NEAREST : Faible qualité
Image.NEAREST
:低质量 Image.BILINEAR
:双线性Image.BICUBIC
:三次样条插值Image.ANTIALIAS
Image.BILINEAR
: Bilinéaire Image.BICUBIC
: Interpolation de spline cubique 🎜🎜🎜🎜 Image.ANTIALIAS
: haute qualité🎜🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Python est une langue interprétée, mais elle comprend également le processus de compilation. 1) Le code Python est d'abord compilé en bytecode. 2) ByteCode est interprété et exécuté par Python Virtual Machine. 3) Ce mécanisme hybride rend Python à la fois flexible et efficace, mais pas aussi rapide qu'une langue entièrement compilée.

Usaforloopwheniterating aepasquenceorfor pourpascific inumberoftimes; useawhileloopwencontinTutuntutilaconditioniseMet.ForloopsareIdealForkNown séquences, tandis que celle-ci, ce qui est en train de réaliser des étages.

PythonloopscanleadtoerrorlikeInfiniteLoops, modificationlistDuringiteration, off-by-by-oneerrors, zéro-indexingisss et intestloopinefficisecy.toavoid this: 1) use'i

ForloopsAreAdvantageSousForkNowiterations et séquences, offrant laimplicité et la réadaptation;

Pythonusahybridmodelofcompilation et interprétation: 1) thepythoninterpreterCompileSourCodeIntOplatform-indépendantBytecode.2) thepythonvirtualmachine (pvm) there examenesthisbytecode, équilibrage de l'usage de la performance.

Pythonisbothinterpretedand compiled.1) il est composédToByteCodeForportabilityAcrosplatforms.2) theytecodeisthenter interprété, permettant à OrdayNamictypingAndRapidDevelopment, bien que MaybeSlowerSlowerSwower, aisance.

Forloopsareideal quand vous savez que l'immatriculation des adressages a une avance, tandis que ce qui est de savoir si

Forloopsaseesesed whenthenUmberoFitations dissownininadvance, tandis que celle-ci a été utilisé sur les éléments de la dispense


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Version Mac de WebStorm
Outils de développement JavaScript utiles

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code
