gpt4 book ai didi

python-2.7 - 使用 matplotlib.image 从文件夹中读取图像

转载 作者:太空宇宙 更新时间:2023-11-03 21:04:49 28 4
gpt4 key购买 nike

我试图在一张图中循环显示图像,这意味着在显示图像 1 后,几秒钟后,图像 2 将显示在同一图中。到目前为止,我有以下代码:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

%matplotlib inline

for i in range(1,4):
PATH = "kodim01.png"
N = "%02d" % i
print PATH.replace("01", N)
image = mpimg.imread(PATH) # images are color images
plt.show()
plt.imshow(image)

但是它显示一个图像(第一张图像)3 次。虽然路径改变了。图像不会改变。请看下面的结果: Here

我怎样才能 1) 将一张图中的所有图像一个接一个地显示出来,即将连续的图像替换为前一张 例如每幅图像之间延迟 1 秒。和 2) 显示所有图像,而不是只重复一张图像?

谢谢

最佳答案

使用 %matplotlib inline 后端

%matplotlib inline 后端将 matplotlib 图显示为 png 图像。您可以使用 IPython.display 来显示图像,在这种情况下,一段时间后显示另一幅图像。

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from IPython import display
import time

%matplotlib inline

PATH = "../data/kodim{0:02d}.png"

for i in range(1,4):
p = PATH.format(i)
#print p
image = mpimg.imread(p) # images are color images
plt.gca().clear()
plt.imshow(image);
display.display(plt.gcf())
display.clear_output(wait=True)
time.sleep(1.0) # wait one second

请注意,在这种情况下,您不是在同一图中显示图像,而是将旧图的图像替换为新图的图像。

使用 %matplotlib notebook 后端

您可以直接使用交互式后端来显示您的情节。这允许使用 matplotlib.animation.FuncAnimation 为绘图设置动画。

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import matplotlib.animation as animation

%matplotlib notebook

PATH = "../data/kodim{0:02d}.png"

def update(i):
p = PATH.format(i)
#print p
image = mpimg.imread(p) # images are color images
plt.gca().clear()
plt.imshow(image)

ani = animation.FuncAnimation(plt.gcf(), update, range(1,4), interval = 1000, repeat=False)
plt.show()

关于python-2.7 - 使用 matplotlib.image 从文件夹中读取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45528284/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com