(图文并茂)深度学习实战(6):用PIL(Python-Imaging)反转图像的颜色

(图文并茂)深度学习实战(6):用PIL(Python-Imaging)反转图像的颜色

在上一篇的(图文并茂)深度学习实战(5):开发mnist手写体识别项目中,我们是利用python脚本来提取出mnist手写体的数据集图片,还原了一张张的28*28的手写体图片。

但是有同学反映,如果利用python或者sh脚本将mnist的数据集解析出来,就会发现其实数据集里的图片是这样的:

(图文并茂)深度学习实战(6):用PIL(Python-Imaging)反转图像的颜色

注意,这是一组黑底白字的图片。

而我们一般下载的或者是利用画图工具自己画的图片都是这样的:
白底黑字
图片:
(图文并茂)深度学习实战(6):用PIL(Python-Imaging)反转图像的颜色

这个有时候会影响识别的准确率,因此,我们可以对图片进行预处理——比如图像反转;

利用python的PIL库将图片进行反转;
下面这个代码只是转换一张图片的例子:

源码:

#-*- coding:utf-8 -*-

from PIL import Image
import PIL.ImageOps    
#读入图片
image = Image.open('/home/nvidia/demo/zout_test/00003.png')
#反转颜色-写个for循还即可
inverted_image = PIL.ImageOps.invert(image)
#保存图片
inverted_image.save('zt00003.png')

多个图片,写个for循还批量操作即可了。

当然也可以使用python_opencv写脚本将图片的像素求反。

从而得到下面的图:(图文并茂)深度学习实战(6):用PIL(Python-Imaging)反转图像的颜色

然后将上面的图片继续用于我们的mnist手写体开发中,就可以准确的识别出来了。


参考资料:
https://blog.csdn.net/johinieLi/article/details/77098915