在网上看到星星超级多的语义分割项目,这个项目可以切换多种网络,十分方便,将使用流程记录在此。
将项目从github上打包下载后,看到CamVid文件夹,这就是我们放数据的地方,其中class_dict为我们放标签及标签像素值的地方。
首先是用labelme制作数据集,labelme的使用方法博客上有很多足够详细的教程,这里讲几个关键步骤。
先归一化图片尺寸,不然图像太大,可能跑不了。
#coding:utf-8
import glob
from PIL import Image
import os
import zipfile
# 获取image文件夹下的图片路径
path = "C:/Users/lenovo/Desktop/数据集demo/png原图/"
# 获取到当前文件的目录,并检查是否有result文件夹,如果没有则创建
# image、result文件夹及该python文件路径均为:D:\PythonSpace\
Newimg_Path = os.getcwd()[:0] + 'C:/Users/lenovo/Desktop/数据集demo/resize 256x256/'
if not os.path.exists(Newimg_Path):
os.makedirs(Newimg_Path)
def changesize(img):
img_name = img
# 打开图片
oldimg = Image.open(path + img_name)
# 大小缩放为64*64
new_img = oldimg.resize((256, 256))
# 以原名称存储图片
new_img.save(Newimg_Path + img_name)
# 压缩文件
def zipImagefile():
# 新建压缩包hahaha.zip,若压缩包已经存在,讲其覆盖
azip = zipfile.ZipFile('hahaha.zip', 'w', zipfile.ZIP_DEFLATED)
# os.walk()递归查找文件夹中的所有内容
for current_path, subfolders, filesname in os.walk(r'D:\PythonSpace\result'):