>  기사  >  백엔드 개발  >  Python에서 이미지 해상도 크기를 수정하는 방법

Python에서 이미지 해상도 크기를 수정하는 방법

PHPz
PHPz앞으로
2023-04-29 18:52:153343검색

Python은 이미지 해상도 크기를 수정합니다.

이미지 해상도는 이미지에 저장된 정보의 양을 말하며, 이는 이미지의 인치당 픽셀 수를 의미합니다. 해상도 단위는 일반적으로 PPI(Pixels Per Inch)라고 합니다. 인치당 픽셀. 이미지 해상도는 일반적으로 PS에서 이미지의 선명도를 변경하는 데 사용됩니다.

이미지 해상도의 크기는 실험 진행에 영향을 미칩니다. 적절한 해상도를 변경하면 실험이 완벽하게 진행될 수 있습니다.

파이썬 프로그램을 통해 이미지의 해상도를 아주 잘 조절할 수 있습니다.

# -*- 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)

Python으로 이미지 해상도 일괄 수정

Python 코드를 사용하여 이미지의 해상도를 지정하세요. 참고: 이 수정된 코드를 실행하면 원본 이미지를 지정된 해상도의 새로 생성된 이미지 로 덮어쓰게 됩니다. 그리고 이 프로그램은 폴더에 있는 모든 사진의 해상도를 직접 지정할 수 있는 일괄 처리입니다.

독자는 다음 두 위치의 매개변수만 수정하면 됩니다.

Python에서 이미지 해상도 크기를 수정하는 방법

소스 코드는 다음과 같습니다.

"""
批处理文件夹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('------修改图片大小全部完成❥(^_-)')

위 내용은 Python에서 이미지 해상도 크기를 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제