Bootstrap

PIL读取图像颜色失真问题#RGB#灰度图

 作者:JasonChen
 时间:2019.4.27
 博主今天在做图像识别的项目,需要用到PIL包读取并显示图像,可是显示图像如下图所示:
在这里插入图片描述
 而原图像是这种:
在这里插入图片描述
 显然,图像颜色失真,注:"SS"是我加在图层上面的字符
通过参考其他博客的内容:总共得到两种bug:
 (1)需要说明的是:若图像的像素矩阵是三维的话,则PIL默认是RGB格式读取进来,若像素矩阵是二维的话,则会强制被认为是灰度图(“L”)格式,这和像素值大小无关,只和像素矩阵的维数有关,其中灰度图格式只处理[0,1]浮点型数值,若图像的像素值远远超过了1且不为三维的话,即造成图像失真。
  (2)若图像是三维的,但是读取进来的是BGR格式的话,需要将其转化为RGB格式,这里贴出PIL包转化的具体代码

;