python实现读取并显示图片方法(不需要图形界面)(python在窗口显示图片)

网友投稿 668 2022-06-23


在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片。本人偏爱 matpoltlib,因为它的语法更像 matlab。

一、matplotlib

1. 显示图片

1

2

3

4

5

6

7

8

9

10

11

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

import matplotlib.image as mpimg # mpimg 用于读取图片

import numpy as np

 

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

# 此时 lena 就已经是一个 np.array 了,可以对它进行任意处理

lena.shape #(512, 512, 3)

 

plt.imshow(lena) # 显示图片

plt.axis('off') # 不显示坐标轴

plt.show()

2. 显示某个通道

1

2

3

4

5

6

7

8

9

10

11

# 显示图片的第一个通道

lena_1 = lena[:,:,0]

plt.imshow('lena_1')

plt.show()

# 此时会发现显示的是热量图,不是我们预想的灰度图,可以添加 cmap 参数,有如下几种添加方法:

plt.imshow('lena_1', cmap='Greys_r')

plt.show()

 

img = plt.imshow('lena_1')

img.set_cmap('gray') # 'hot' 是热量图

plt.show()

3. 将 RGB 转为灰度图

matplotlib 中没有合适的函数可以将 RGB 图转换为灰度图,可以根据公式自定义一个:




版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python爬虫过程中验证码识别的三种解决方案(python爬虫验证码处理)
下一篇:Python爬虫高级之JS渗透登录新浪微博 | 知了独家研究(python 微博爬虫)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~