将Numpy存储为jpg图像时像素值改变
2019-12-03 本文已影响0人
qizhen816
做深度学习图像分割任务时通常需要将原始图像对应的MASK存储在硬盘上,
需要注意的是存储为.jpg格式时,虽然得到的文件较小,但是由于jpg图像格式会进行有损压缩,导致得到的mask有像素值改变:
图中本来应该生成光滑的分割区域,所有异常点都是jpg压缩过程中产生的。
这是JPG的压缩算法决定的,与cv2、PIL、scipy的读写方法都无关
建议存为PNG格式或.npy文件
cv2.imencode(".png", mask.astype(np.int32))[1].tofile(save_root + filename)