pytorch修改图片尺寸大小

import cv2
from torch.utils.data import Dataset
from PIL import Image
import os
import matplotlib.pyplot as plt

class MyData(Dataset):
    # 初始化 root_dir大的路径和label_dir具体内容/获取地址
    def __init__(self, root_dir, label_dir):
        # 创建全局变量
        self.root_dir = root_dir
        self.label_dir = label_dir
        # 获取一个路径地址 join()作用为拼接地址
        self.path = os.path.join(self.root_dir + "/" + self.label_dir).replace("jpg", "png")
        # bmp
        # self.path = os.path.join(self.root_dir + "/" + self.label_dir).replace("bmp", "png")
        # 获取路径下的所有列表
        self.img_path = os.listdir(self.path)
        print(self.img_path)
        print("ok")

    # idex作为一个编号
    def __getitem__(self, idx):
        # 读取其中的一个图片
        img_name = self.img_path[idx]
        print(img_name)
        # 程序的相对路径
        img_iten_path = os.path.join(self.root_dir, self.label_dir, img_name)
        # 图片打开
        img = Image.open(img_iten_path)
        # 160 x120 == 640x480
        # new_img = img.resize((640, 480))

        # 256x256 == 1024 x1024
        # new_img = img.resize((1024, 1024))

        # 320x240 == 1280 x960
        # new_img = img.resize((1280, 960))

        # 384x288 == 1536x1152
        # new_img = img.resize((1536, 1152))

        # 640x480 == 2560 x1920
        # new_img = img.resize((2560, 1920))

        # 640x512 == 2560 x2048
        # new_img=img.resize((2560, 2048))

        # 1280 x1024 == 5120 x4196
        new_img = img.resize((5120, 4196))

        # 要保存的图片
        # 160x120 == 640x480
        # if not os.path.exists("../opencv/tu/480/"):
        #     os.mkdir("../opencv/tu/480/")
        #     print("目录已经创建")
        # new_img.save("../opencv/tu/480/" + img_name.replace("jpg", "png").replace("bmp", "png"))

        # 256x256 == 1024x1024
        # if not os.path.exists("../opencv/tu/1024/"):
        #     os.mkdir("../opencv/tu/1024/")
        #     print("目录已经创建")
        # new_img.save("../opencv/tu/1024/" + img_name.replace("jpg", "png").replace("bmp", "png"))

        # 320x240 == 1280x960
        # if not os.path.exists("../opencv/tu/960/"):
        #     os.mkdir("../opencv/tu/960/")
        #     print("目录已经创建")
        # new_img.save("../opencv/tu/960/" + img_name.replace("jpg", "png").replace("bmp", "png"))

        # 384x288 == 1536x1152
        # if not os.path.exists("../opencv/tu/1152/"):
        #     os.mkdir("../opencv/tu/1152/")
        #     print("目录已经创建")
        # new_img.save("../opencv/tu/1152/" + img_name.replace("jpg", "png").replace("bmp", "png"))

        # 640x480 == 2560x1920
        # if not os.path.exists("../opencv/tu/1920/"):
        #     os.mkdir("../opencv/tu/1920/")
        #     print("目录已经创建")
        # new_img.save("../opencv/tu/1920/" + img_name.replace("jpg", "png").replace("bmp", "png"))

        # 640x512 == 2560 x2048
        # if not os.path.exists("../opencv/tu/2048/"):
        #     os.mkdir("../opencv/tu/2048/")
        #     print("目录已经创建")
        # new_img.save("../opencv/tu/2048/" + img_name.replace("jpg", "png").replace("bmp", "png"))

        # 1280x1024 == 5120x4196
        if not os.path.exists("../opencv/tu/1024/"):
            os.mkdir("../opencv/tu/1024/")
            print("目录已经创建")
        new_img.save("../opencv/tu/1024/" + img_name.replace("jpg", "png").replace("bmp", "png"))

        # 它的一个文件
        label = self.label_dir
        return img, label

    # 返回列表的一个长度
    def __len__(self):
        return len(self.img_path)

数据集路径
root_dir = "./tu"
路径要处理的图片
160x120==640x480
low_label_dir="160x120"

256x256 == 1024 x1024
low_label_dir="256x256"

320x240 == 1280 x960
low_label_dir="320x240"

384x288==1536x1152
low_label_dir="384x288"

640x480==2560x1920
low_label_dir="640x480"

640x512==2560x2048
low_label_dir="640x512"

1280x1024==5120x4196
low_label_dir = "1280x1024"
低分辩的数据集
low_dataset = MyData(root_dir, low_label_dir)
print("图片数量:", len(low_dataset))

for x in low_dataset:
    img, label = x

上面可根据自己需要更改,代码懒优化了就复制粘贴了,需要用到的路径和大小,不要的可以删除。这个是根据B站代码进行学习,然后做的修改B站的up主是小土堆,有兴趣的可以去b站学习一下,内容还是讲的非常细致的

Original: https://blog.csdn.net/qq_45868384/article/details/123929852
Author: 小五角
Title: pytorch修改图片尺寸大小

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/628283/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球