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)
发布评论