gpt4 book ai didi

python - 如何使用 matplotlib 绘制 .png 数组

转载 作者:行者123 更新时间:2023-11-28 22:54:37 24 4
gpt4 key购买 nike

假设您在某个文件夹中有一些 i-1 图片。我怎样才能让这段代码将它们呈现在一些列数 int((i-1)**0.5) 的网格中(因为这会形成一个正方形的图像)

import matplotlib.pyplot as plt
import matplotlib.image as mplimg
import pylab
import numpy as np

for j in range(i):
image=mplimg.imread("c:\\users\\laurence\\dropbox\\ggl\\images\\"+str(j)+".png")
arr=np.asarray(image)

最佳答案

未经测试,但这是总体思路。

import matplotlib.pyplot as plt
import glob
import numpy as np

# glob won't preserve the order that the files are in (if you need that, you can
# simply do what you were already doing. Globbing is simpler, though.
filenames = glob.glob('c:/path/to/your/photos/*.png')
# Forward slashes work for pathnames on windows, too (at least in python)

# Let's not assume that there's an exact square number of images
nrows = np.ceil(np.sqrt(len(filenames))).astype(int)
ncols = len(filenames) // nrows

# Subplots returns a figure and a _2d array_ of axes in a grid.
fig, axes = plt.subplots(nrows, ncols)

# Note that we're iterating over ``axes.flat``, not just axes (which is 2d)
for filename, ax in zip(filenames, axes.flat):
data = plt.imread(filename)
ax.imshow(data)

# You might want to hide the labels, border, etc
ax.axis('off')

# Not necessary, but this will give you more evenly located subplots
fig.tight_layout()
plt.show()

关于python - 如何使用 matplotlib 绘制 .png 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17882122/

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