python3读取图像并可视化的方法(PIL/Pillow、opencv/cv2)

原图:

 

 

使用TensorFlow做图像处理的时候,会对图像进行一些可视化的操作。下面,就来列举一些我知道的图像读取并可视化的方法。

1. Pillow模块

1.1 Pillow模块的前生

Pillow就是python2中的 PIL 模块。PIL模块(Python Imaging Library)是Python的一个强大方便的图像处理库,不过只支持到 Python2.7。

Pillow是PIL的一个派生分支,但如今已发展为比PIL本身更具活力的Python图像处理库。

1.2 Pillow模块的安装

pillow的安装也分两种,第一种通过 CMD命令行模式直接 pip。不过我在安装的时候出了错,大概是网络原因。于是我用pycharm直接进行安装,没有出现问题

CMD安装命令:pip install Pillow

1.3 使用Pillow模块进行可视化

1.3.1 导入Pillow模块:

import PIL
或者
from PIL import Image

如果写 import Pillow 就会报错“ModuleNotFoundError: No module named 'Pillow'”,这可能是因为Pillow是从PIL派生出来的原因吧。

1.3.2 Image.open(img_path).convert()

convert()
convert()是图像实例对象的一个方法,接受一个 mode 参数,用以指定一种色彩模式
1 ------------------(1位像素,黑白,每字节一个像素存储)
L ------------------(8位像素,黑白)
P ------------------(8位像素,使用调色板映射到任何其他模式)
RGB------------------(3x8位像素,真彩色)
RGBA------------------(4x8位像素,带透明度掩模的真彩色)
CMYK--------------------(4x8位像素,分色)
YCbCr--------------------(3x8位像素,彩色视频格式)
I-----------------------(32位有符号整数像素)
F------------------------(32位浮点像素)

 

1.3.3 代码,直接105, 106两行代码就够了:

 

 效果:

 

 

 默认用画图工具打开。

如果将convert() 参数改为 '1',效果如下:

 

 剩下的参数不再一一使用。

2. cv2模块读取图像,matplotlib可视化展示

2.1 cv2模块的安装

pip install opencv-python

如果无法安装或安装后出现问题,可以试试pycharm或在官网下载安装包进行手动安装。

2.2 matplotlib为Python自带,无需安装

2.3 代码:

 

 结果如下:

 

 图像为什么跟原始图像的色彩不一样,或者说像是颜色被翻转了似的,因为cv2与matplotlib的显示模式不一致,opencv读取的彩色图像是BGR格式,Matplotlib显示彩色图像是RGB格式。

posted @ 2019-10-16 13:45  正态分个布  阅读(5144)  评论(0编辑  收藏  举报