gpt4 book ai didi

python - 如何使用 matplotlib 循环绘制图像列表?

转载 作者:行者123 更新时间:2023-12-05 08:15:25 26 4
gpt4 key购买 nike

<分区>

我有 10 个图像 ID。从每个 ID,我可以得到原始图像、地面实况、预处理、后处理路径。我将从每个路径读取图像并绘制一个带有子图的图形:列表示第四种类型的图像:raw、gt、pre、post,而行表示从 1 到 10 的图像 id。

目前,我使用 gridspec 为每个图像定位子图形和从 1 到 40 的轴。我使用循环读取列表中的图像,然后使用条件在每个轴上放置图像。但是,它看起来很长的代码,我认为 Python 和 matplotlib 可以有更好的方法。你能给我建议一下方法吗?这是我当前的实现

if __name__ == "__main__":

fig = plt.figure(figsize=(50, 50))
fig.patch.set_facecolor('white')
gs1 = gridspec.GridSpec(4, 10)
gs1.update(wspace=0.01, hspace=0.01) # set the spacing between axes.

ax1 = plt.subplot(gs1[0])
..
ax40 = plt.subplot(gs1[39])

ax1.axis('off')
...
ax40.axis('off')

ax37.text(0.5, -0.1, "(a)", size=20, ha="center",
transform=ax13.transAxes)
ax38.text(0.5, -0.1, "(b)", size=20, ha="center",
transform=ax14.transAxes)
ax39.text(0.5, -0.1, "(c)", size=20, ha="center",
transform=ax15.transAxes)
ax40.text(0.5, -0.1, "(d)", size=20, ha="center",
transform=ax16.transAxes)

image_id_list=['2011_1', '2011_2', '2012_1', '2012_1'...] #10 images id

for i in range (len(image_id_list)):
image_id=image_id_list[i]
raw_image_path='./Images/+ image_id +'jpg'
gt_image_path='./GT/+ image_id +'jpg'
pre_image_path='./Pre/+ image_id +'jpg'
post_image_path='./Post/+ image_id +'jpg'
raw_image=Image.open(raw_image_path)
gt_image=Image.open(gt_image_path)
pre_image=Image.open(pre_image_path)
post_image=Image.open(post_image_path)
if (i==0):
ax1.imshow(raw_image)
ax2.imshow(gt_image)
ax3.imshow(pre_image)
ax4.imshow(post_image)
if (i==1):
ax5.imshow(raw_image)
ax6.imshow(gt_image)
ax7.imshow(pre_image)
ax8.imshow(post_image)
if (i==2):
ax9.imshow(raw_image)
ax10.imshow(gt_image)
ax11.imshow(pre_image)
ax12.imshow(post_image)
if (i==3):
ax13.imshow(raw_image)
ax14.imshow(gt_image)
ax15.imshow(pre_image)
ax16.imshow(post_image)
...

plt.show()
fig.savefig('./result.png',bbox_inches='tight') # save the figure to file
plt.close(fig) # close the figure

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