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

作者: qizhen816 | 来源:发表于2019-12-03 16:40 被阅读0次

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

像素损失实例.png

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

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

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

        cv2.imencode(".png", mask.astype(np.int32))[1].tofile(save_root + filename)

相关文章

网友评论

    本文标题:将Numpy存储为jpg图像时像素值改变

    本文链接:https://www.haomeiwen.com/subject/jmzcgctx.html