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)