matplotlib 显示批量图片_女神刘涛图片显示:由浅入深用matplotlib方法

1 说明:

=====

1.1 matplotlib的强大,一般只是知道它的数据可视化,在显示图片上一般人不知道还有其强大的一面。

1.2 环境:

python3.8+matplotlib3.2.0

1.3 锻炼python思维和熟悉matplotlib作图。

1.4 图片来源:今日头条正版免费图库,向女神刘涛,致敬,仅用于学习。

4cdfd3fc77ac49741304089c4279d3af.png

lt1.jpeg

eb9330c6c9e060d4c5a49d677a575d16.png

lt2.jpeg

a70ee1979564cb167ca682649d41fa5e.png

lt3.jpeg

4f8f1dee45bdd82d08ac190bee2b47c1.png

lt4.jpeg

2 读取一张图片:

============

2.1 方法一:简洁法,代码一。

import matplotlib.pyplot as plt#读取图片img = plt.imread('/home/xgj/Desktop/matplotlib-pic/lt1.jpeg')#将图片挂在plt的imshow上plt.imshow(img)#再展示plt.show()

2.2 方法二:有了方法一,谁还用方法二,作为了解,嘻嘻。代码二。

import matplotlib.image as imgpltimport matplotlib.pyplot as pltimg = imgplt.imread('/home/xgj/Desktop/matplotlib-pic/lt1.jpeg')plt.imshow(img)plt.show()

2.3 图:

bd5e4c718c667a120b28e0b9e60fde66.png

3 多子图(2/2=4)显示:

==================

3.1 代码三:

#导入模块import matplotlib.pyplot as plt#读取图片img1 = plt.imread('/home/xgj/Desktop/matplotlib-pic/lt1.jpeg')img2=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt2.jpeg')img3=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt3.jpeg')img4=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt4.jpeg')#定义画布plt.figure()#定义子图、位置和显示图片序号plt.subplot(2,2,1)plt.imshow(img1)plt.subplot(2,2,2)plt.imshow(img2)plt.subplot(223)plt.imshow(img3)plt.subplot(224)plt.imshow(img4)#展示图片plt.show()

3.2 图:

360209bb07b0bc31c8d6add9656dced2.png

3.3 代码四:是对代码三进行优化。

#导入模块import matplotlib.pyplot as plt#定义画布plt.figure()#读取图片img1 = plt.imread('/home/xgj/Desktop/matplotlib-pic/lt1.jpeg')img2=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt2.jpeg')img3=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt3.jpeg')img4=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt4.jpeg')#定义列表pic_list=[img1,img2,img3,img4]  #读取图片列表position_pic=[221,222,223,224]  #位置列表#推导式for i in range(4):    plt.subplot(position_pic[i])    plt.imshow(pic_list[i])#图片展示plt.show()

4 高级图片动画:

============

4.1 代码五:

#导入模块import matplotlib.pyplot as pltimport randomimport matplotlib.animation as animation#定义画布和背景颜色为黑色=k,注意b=blue,不是blackfig =plt.figure(facecolor='k')ax = plt.gca()#读取图片X=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt1.jpeg')Y=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt2.jpeg')Z=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt3.jpeg')M=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt4.jpeg')#定义列表pic_list=[X,Y,Z,M]#初始化def init():    return X,Y,Z,M#更新def update(i):    #随机选取图片列表    p=random.choice(pic_list)    #展示    plt.imshow(p)    #去除刻度    plt.xticks([])    plt.yticks([])    return X,Y,Z,M #动画ani = animation.FuncAnimation(fig, update, range(10), init_func=init, interval=30)#展示plt.show()

4.2 效果图:

d65e08ad301c0dbd555e88eb0574fb0a.gif

5 再高级一点图片动画:

=================

5.1 代码六:

import matplotlib.pyplot as pltimport randomimport matplotlib.animation as animationfig =plt.figure(facecolor='k')ax = plt.gca()#读取图片X=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt1.jpeg')Y=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt2.jpeg')Z=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt3.jpeg')M=plt.imread('/home/xgj/Desktop/matplotlib-pic/lt4.jpeg')pic_list=[X,Y,Z,M]position_pic=[221,222,223,224]def init():    return X,Y,Z,Mdef update(i):     p=random.choice(pic_list)    n=random.choice(position_pic)    plt.subplot(n)  #报错,小bug    plt.imshow(p)    plt.xticks([])    plt.yticks([])    return X,Y,Z,M ani = animation.FuncAnimation(fig, update, range(10), init_func=init, interval=30)plt.show()

5.2 效果图:

c91458b7057aaa3a27cb918d29d21697.gif

随机图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值