python读取并显示图片的三种方法(opencv、matplotlib、PIL库)

 更新时间:2021年04月15日 09:47:40   作者:loadding...  
这篇文章主要给大家介绍了关于python读取并显示图片的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

在进行图像处理时,经常会用到读取图片并显示出来这样的操作,所以本文总结了python中读取并显示图片的3种方式,分别基于opencv、matplotlib、PIL库实现,并给出了示例代码,介绍如下。

OpenCV

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

import matplotlib.pyplot as plt # plt 用于显示图片
import cv2

#opencv的颜色通道顺序为[B,G,R],而matplotlib颜色通道顺序为[R,G,B],所以需要调换一下通道位置
img1 = cv2.imread('./Lena.png')[:,:,(2,1,0)] # 读取和代码处于同一目录下的 lena.png
img2 = cv2.imread('./Lena.png')[:,:,(2,1,0)]

#结果展示
plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文乱码
plt.subplot(121)
#imshow()对图像进行处理,画出图像,show()进行图像显示
plt.imshow(img1)

plt.title('图像1')
#不显示坐标轴
plt.axis('off')

#子图2
plt.subplot(122)
plt.imshow(img2)
plt.title('图像2')
plt.axis('off')

# #设置子图默认的间距
plt.tight_layout()
#显示图像
plt.show()

Matplotlib

Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

import matplotlib.pyplot as plt # plt 用于显示图片
import matplotlib.image as mpimg # mpimg 用于读取图片

img1 = mpimg.imread('./Lena.png') # 读取和代码处于同一目录下的 lena.png
img2=mpimg.imread('./Lena.png')

#结果展示
plt.rcParams['font.sans-serif'] = ['SimHei']  # 中文乱码
plt.subplot(121)
#imshow()对图像进行处理,画出图像,show()进行图像显示
plt.imshow(img1)

plt.title('图像1')
#不显示坐标轴
plt.axis('off')

#子图2
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)。
import matplotlib.pyplot as plt # plt 用于显示图片
from PIL import Image

img1 = 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')

#子图2
plt.subplot(122)
plt.imshow(img2)
plt.title('图像2')
plt.axis('off')

# #设置子图默认的间距
plt.tight_layout()
#显示图像
plt.show()

运行结果

总结

到此这篇关于python读取并显示图片的三种方法的文章就介绍到这了,更多相关python读取显示图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python读取文本绘制动态速度曲线

    python读取文本绘制动态速度曲线

    这篇文章主要为大家详细介绍了python读取文本绘制动态速度曲线,多图同步显示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • python获取糗百图片代码实例

    python获取糗百图片代码实例

    python获取糗百图片代码实例,大家参考使用吧
    2013-12-12
  • wxPython多个窗口的基本结构

    wxPython多个窗口的基本结构

    这篇文章主要为大家详细介绍了wxPython多个窗口的基本结构,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Python高效解析和操作XML/HTML的实用指南

    Python高效解析和操作XML/HTML的实用指南

    在 Python 生态系统中,lxml 是一个功能强大且广泛使用的库,用于高效地解析和操作 XML 和 HTML 文档,这篇文章从 lxml 的基础安装开始,逐步深入讲解如何解析文档、提取数据、修改文档结构,并涵盖了处理大型文档和使用命名空间等进阶操作,需要的朋友可以参考下
    2024-10-10
  • 利用Tensorboard绘制网络识别准确率和loss曲线实例

    利用Tensorboard绘制网络识别准确率和loss曲线实例

    今天小编就为大家分享一篇利用Tensorboard绘制网络识别准确率和loss曲线实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python绘图模块之利用turtle画图

    python绘图模块之利用turtle画图

    这篇文章主要给大家介绍了关于python模块教程之利用turtle画图的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】

    Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】

    这篇文章主要介绍了Python编程实现两个文件夹里文件的对比功能,包含内容的对比操作,涉及Python文件与目录的遍历、比较、运算等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • Python Type Hints 学习之从入门到实践

    Python Type Hints 学习之从入门到实践

    Type Hints(类型注解)进一步强化了Python是一门强类型语言的特性,它在 Python3.5 中第一次被引入。使用Type Hints可以让我们编写出带有类型的Python代码,本文将详细介绍一下Type Hints,感兴趣的小伙伴可以关注一下
    2021-11-11
  • Python numpy二维数组如何删除指定行和列

    Python numpy二维数组如何删除指定行和列

    本文展示了如何对数组进行行列删除操作,包括删除单行、单列、多行和多列的方法,通过具体的运行结果展示,读者可以清晰地了解到如何在不同情况下进行数据处理,文章内容实用,适合需要进行数据处理的读者参考学习
    2024-09-09
  • 浅析python协程相关概念

    浅析python协程相关概念

    本篇文章给大家分析了一下python协程的概念以及代码相关实例,有兴趣的朋友跟着小编学习下吧。
    2018-01-01

最新评论