将Numpy存储为jpg图像时像素值改变

做深度学习图像分割任务时通常需要将原始图像对应的MASK存储在硬盘上,
需要注意的是存储为.jpg格式时,虽然得到的文件较小,但是由于jpg图像格式会进行有损压缩,导致得到的mask有像素值改变:

像素损失实例.png

图中本来应该生成光滑的分割区域,所有异常点都是jpg压缩过程中产生的。

这是JPG的压缩算法决定的,与cv2、PIL、scipy的读写方法都无关

建议存为PNG格式或.npy文件

        cv2.imencode(".png", mask.astype(np.int32))[1].tofile(save_root + filename)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容