CityScapes数据集灰度标签图转为伪彩色图
目前搜集到的代码都或多或少存在个别问题,针对CityScapes数据集在训练网络时可能需要将灰度标签图转为伪彩色图这一需求,
其中的三个程序分别针对不同需求:
目前可搜集到的方法,但存在局限性。
优点:可以在多次运行时,输出的label颜色不变,且可修改,(第一次运行时自动生成随机且不重复的颜色值)
由于CityScapes数据集的分辨率为2048x1024,之前的程序都使用了
plt.savefig(output_path + ".jpg", bbox_inches='tight', pad_inches=0)
新程序解决了这个问题,不再使用matplotlib,生成的图像分辨率为2048x1024与原数据集匹配
在语义分割的训练样本准备过程中,需要生成8bit rgb彩色png图,这个时候如果直接用opencv的imread和imwrite读写操作,只能生成8bit png灰度图或24bit的真彩图。 既然opencv不能保存成8bit的rgb png,这里就推荐用PIL库中的Image模块来读写png。据此重构的代码。
出现新的问题,丢去检测出现不合理的标签数,应该是resize导致,在多方求助后,得到最终解决,已成功通过测试,现在将验证程序voc_annotation和最终程序corlorful_1上传(本方法使用前需要搭配官方脚本createTrainIdLabelImgs)