Maison  >  Article  >  développement back-end  >  Comment modifier la taille de la résolution de l'image en python

Comment modifier la taille de la résolution de l'image en python

PHPz
PHPzavant
2023-04-29 18:52:153264parcourir

Python modifie la taille de la résolution de l'image

La résolution de l'image fait référence à la quantité d'informations stockées dans l'image, qui est le nombre de pixels dans l'image par pouce. L'unité de résolution est PPI (Pixels Per Inch), généralement appelée. pixels par pouce. La résolution de l'image est généralement utilisée dans PS pour modifier la clarté de l'image.

La taille de la résolution de l'image affectera la progression de notre expérience. Changer la résolution appropriée peut permettre à l'expérience de se dérouler parfaitement.

La résolution de l'image peut être très bien ajustée grâce au programme python.

# -*- codeing = utf-8 -*-
# @Time : 2022/5/1 13:23
# @Author : ning
# @File : 5.1demo.py
# @software : PyCharm
 
import matplotlib.pyplot as plt
from PIL import Image
 
 
def produceImage(file_in, width, height, file_out):
    image = Image.open(file_in)
    resized_image = image.resize((width, height), Image.ANTIALIAS)
    resized_image.save(file_out)
 
 
if __name__ == '__main__':
    file_in = '9.jpg'
    width = 256 #调整的分辨率大小
    height = 256
    file_out = 'demo9.png'
    # 分辨率
    produceImage(file_in, width, height, file_out)

Modification par lots Python de la résolution de l'image

Utilisez le code Python pour spécifier la résolution de l'image. Remarque : L'exécution de ce code modifié écrasera l'image originale par l'image nouvellement générée de la résolution spécifiée. Et ce programme est un traitement par lots, qui peut spécifier directement la résolution de toutes les images du dossier.

Les lecteurs n'ont qu'à modifier les paramètres des deux emplacements suivants :

Comment modifier la taille de la résolution de limage en python

Le code source est le suivant :

"""
批处理文件夹train下的images和labels文件夹中的图片,进行重新修改尺寸操作,并替换保存。
注意是**批处理**,会把train中所有的文件夹下的所有图片都修改分辨率。
敲黑板,划重点!!!会直接把 原分辨率 的图片替换为 指定分辨率的图片!!!
文件夹结构:
    PATH:'/home/stu/zy/MySwin-Unet/data/train'
    childPATH:PATH下的'/labels'
    childPATH:PATH下的'images'


"""

import cv2
import os
import sys


# PATH = r'/root/autodl-tmp/MySwin-Unet/data/' # 这个路径只需写到train和val文件夹即可。文件夹下的图片程序会自动帮你打开
PATH = r'/home/stu/zy/MySwin-Unet/data/train'
# 我这里是相对路径,亲测中文路径也可以

def resizeImage(file, NoResize):
    image = cv2.imread(file, cv2.IMREAD_COLOR)

    # 如果type(image) == 'NoneType',会报错,导致程序中断,所以这里先跳过这些图片,
    # 并记录下来,结束程序后手动修改(删除)

    if image is None:
        NoResize += [str(file)]
    else:
        resizeImg = cv2.resize(image, (512, 512)) # 这里改为自己想要的分辨率
        cv2.imwrite(file, resizeImg)
        cv2.waitKey(100)


def resizeAll(root):
    # 待修改文件夹
    fileList = os.listdir(root)
    # 输出文件夹中包含的文件
    # print("修改前:"+str(fileList))
    # 得到进程当前工作目录
    currentpath = os.getcwd()
    # 将当前工作目录修改为待修改文件夹的位置
    os.chdir(root)

    NoResize = []  # 记录没被修改的图片

    for file in fileList:  # 遍历文件夹中所有文件
        file = str(file)
        resizeImage(file, NoResize)

    print("---------------------------------------------------")

    os.chdir(currentpath)  # 改回程序运行前的工作目录

    sys.stdin.flush()  # 刷新

    print('没别修改的图片: ', NoResize)


if __name__ == "__main__":
    # 子文件夹
    for childPATH in os.listdir(PATH):
        # 子文件夹路径
        childPATH = PATH + '/' + str(childPATH)
        # print(childPATH)
        resizeAll(childPATH)
    print('------修改图片大小全部完成❥(^_-)')

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