本文主要是介绍GTSRB 的ppm格式文件转为png格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
# -*- coding: utf-8 -*-
"""
Created on Wed Mar 6 18:10:26 2019@author: 孔金迪
"""from PIL import Image
import os
import shutil
import xlrd
import csv
import random
import numpy as nproot_path = 'D:\GTSRB\Final_Training'root_files = os.listdir(root_path)save_root_path = 'D:\GTSRB\Final_Training\TrainingPNG2'#处理训练集
for file in root_files:#print(file) #Imagesimage_path = os.path.join(root_path , file)#print(image_path) #D:\GTSRB\Final_Training\Imagesimage_files = os.listdir(image_path)#print(image_files) #['00000', '00001', '00002', ...,'00042']if not os.path.exists(save_root_path):os.mkdir(save_root_path)for file in image_files:#print(file) #00000 00001...00042class_path = os.path.join(image_path , file)#print(class_path) #D:\GTSRB\Final_Training\Images\00000...00042class_files = os.listdir(class_path)#print(class_files) #00007_00016.ppm'...save_class_path = os.path.join(save_root_path , file)if not os.path.exists(save_class_path):os.mkdir(save_class_path)#print(save_class_path) #D:\GTSRB\Final_Training\TrainingPNG\00036for file in class_files:#print(file) #00000_......ppm GT-00***.csvfile_name,tensionname = os.path.splitext(file) #分离 文件名(含扩展名) 和扩展名if tensionname == '.ppm':#print(file_name) #000007_00029file_path = os.path.join(class_path , file_name+'.ppm')#print(file_path)save_file_path = os.path.join(save_class_path , file_name+'.png')#print(save_file_path) #D:\GTSRB\Final_Training\TrainingPNG\00042\00007_00029.pngimage = Image.open(file_path)image.save(save_file_path)
有我自己整理好的PNG格式文件https://download.csdn.net/my/uploads
GTSRB 德标的交通标志数据集,但是注意到训练集和测试集的目录不一样啊,,,所以上面只是训练集的。测试集就没有class_path ,,就是没有分类这个文件夹。。。。(坑了半小时,令人窒息)
注意目录的格式
一边创建文件夹,一边转化图片的格式
鬼知道自己的anaconda为什么总是出问题,,所以把代码扔上来
这篇关于GTSRB 的ppm格式文件转为png格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!