Pytorch+OpenCV批次将文件夹图片.JPG转换成.png【已解决】

0 导读

对于者日常生活中的图片格式转换,尤其是对于计算机视觉领域的人群,我们往往都需要对图片数据进行预处理。计算机视觉的初学者往往对mnist、fashion-misnt等公开数据集的读/写已有一定的掌握,但面临实验室本地数据集预处理时却容易不知所措。废话少讲,直接上代码吧。

1 代码实现

Description

以文件夹形式,批次读入图片,将图片resize为400*300px,删除原图片并保存。

Requirements

  • Python 3.6
  • Pytorch 1.6.0
  • cv2

Code

"""
**利用CV2读入文件夹,批次将图片统一resize,并更新保存
@author: <Colynn Johnson>
@date: 2020-11-5
"""
import cv2
import tqdm
import os

# 将图片重新存储
# - 调整大小
def image_preprocess(dir_path):
    """图片预处理
    """
    for img in os.listdir(dir_path): # 调用 tqdm 可视化循环处理过程
        img_path = os.path.join(dir_path, img)  # 图像的完整路径
        img_data = cv2.imread(img_path) # 使用 opencv读取图像
        img_data = cv2.resize(img_data, (400, 300))  # 图片处理成统一大小
        os.remove(img_path)  # 删除原始图像
        cv2.imwrite(img_path, img_data, )  # 保存新的图像

def JPG2png(path):
    for filename in os.listdir(path):
        if os.path.splitext(filename)[1] == '.JPG':
            # print(filename)
            img = cv2.imread(path + filename)
            # print(filename.replace(".JPG", ".png"))
            newfilename = filename.replace(".JPG", ".png")
            # cv2.imshow("Image",img)
            # cv2.waitKey(0)
            cv2.imwrite(path + newfilename, img)
if __name__ == '__main__':
    for j in range(300):
        Filename = './Datasets/furnishing1/furnishing_'+str(j+1)+'/'
        image_preprocess(Filename)
        JPG2png(Filename)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值