recherche
Maisondéveloppement back-endTutoriel PythonComment 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 :

    Comment redimensionner, recadrer, faire pivoter et retourner des images en Python

    Opération 1 : redimensionner Redimensionner l'image pour Même taille (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))

    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 :

    Comment redimensionner, recadrer, faire pivoter et retourner des images en Python

    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!

    Déclaration
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
    Python: compilateur ou interprète?Python: compilateur ou interprète?May 13, 2025 am 12:10 AM

    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.

    Python pour Loop vs While Loop: Quand utiliser lequel?Python pour Loop vs While Loop: Quand utiliser lequel?May 13, 2025 am 12:07 AM

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

    Python Loops: les erreurs les plus courantesPython Loops: les erreurs les plus courantesMay 13, 2025 am 12:07 AM

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

    Pour la boucle et bien que la boucle en python: quels sont les avantages de chacun?Pour la boucle et bien que la boucle en python: quels sont les avantages de chacun?May 13, 2025 am 12:01 AM

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

    Python: une plongée profonde dans la compilation et l'interprétationPython: une plongée profonde dans la compilation et l'interprétationMay 12, 2025 am 12:14 AM

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

    Python est-il une langue interprétée ou compilée, et pourquoi est-ce important?Python est-il une langue interprétée ou compilée, et pourquoi est-ce important?May 12, 2025 am 12:09 AM

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

    Pour Loop vs While Loop in Python: les principales différences expliquéesPour Loop vs While Loop in Python: les principales différences expliquéesMay 12, 2025 am 12:08 AM

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

    Pour et bien que les boucles: un guide pratiquePour et bien que les boucles: un guide pratiqueMay 12, 2025 am 12:07 AM

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

    See all articles

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    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

    <🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
    3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
    Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
    3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
    Nordhold: Système de fusion, expliqué
    3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

    Outils chauds

    SublimeText3 version Mac

    SublimeText3 version Mac

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

    VSCode Windows 64 bits Télécharger

    VSCode Windows 64 bits Télécharger

    Un éditeur IDE gratuit et puissant lancé par Microsoft

    Version Mac de WebStorm

    Version Mac de WebStorm

    Outils de développement JavaScript utiles

    PhpStorm version Mac

    PhpStorm version Mac

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

    Version crackée d'EditPlus en chinois

    Version crackée d'EditPlus en chinois

    Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code