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格式。