前言 在进行图像处理时,经常会用到读取图片并显示出来这样的操作,所以本文总结了python中读取并显示图片的3种方式,分别基于opencv、matplotlib、PIL库实现,并给出了示例代码,介绍如下。
OpenCV OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import matplotlib.pyplot as plt import cv2img1 = cv2.imread('./Lena.png' )[:,:,(2 ,1 ,0 )] img2 = cv2.imread('./Lena.png' )[:,:,(2 ,1 ,0 )] plt.rcParams['font.sans-serif' ] = ['SimHei' ] plt.subplot(121 ) plt.imshow(img1) plt.title('图像1' ) plt.axis('off' ) plt.subplot(122 ) plt.imshow(img2) plt.title('图像2' ) plt.axis('off' ) plt.tight_layout() plt.show()
Matplotlib Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import matplotlib.pyplot as plt import matplotlib.image as mpimg img1 = mpimg.imread('./Lena.png' ) img2=mpimg.imread('./Lena.png' ) plt.rcParams['font.sans-serif' ] = ['SimHei' ] plt.subplot(121 ) plt.imshow(img1) plt.title('图像1' ) plt.axis('off' ) plt.subplot(122 ) plt.imshow(img2) plt.title('图像2' ) plt.axis('off' ) plt.tight_layout() plt.show()
PIL PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。。。
PIL可以做很多和图像处理相关的事情:
图像归档(Image Archives)。
图像展示(Image Display)。
图像处理(Image Processing)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import matplotlib.pyplot as plt from PIL import Imageimg1 = Image.open('./Lena.png' ) img2 = Image.open('./Lena.png' ) plt.rcParams['font.sans-serif' ] = ['SimHei' ] plt.subplot(121 ) plt.imshow(img1) plt.title('图像1' ) plt.axis('off' ) plt.subplot(122 ) plt.imshow(img2) plt.title('图像2' ) plt.axis('off' ) plt.tight_layout() plt.show()
运行结果