for-loop - 如何将for循环中的图像名称更改为特定数字
问题描述
我的代码在不同的文件夹中生成不同的图像。每个文件夹包含一个图像。每个文件夹中的图像名称按顺序命名,例如文件夹 0 包含图像 0.png,文件夹 1 包含图像 1.png,文件夹 2 包含 2.png 等等。但我不希望代码枚举图像并按顺序命名它们。相反,我希望将每个文件夹中的每个图像命名为 0。比如文件夹 0 包含 0.png,文件夹 1 包含 0.png,文件夹 2 包含 0.png 等等。
from skimage import io
import matplotlib.pyplot as plt
import scipy.io as spio
import numpy as np
import os
pixels = 600
my_dpi = 100
num_geo=10
## Load coordinates
mat = spio.loadmat('coordinateXY.mat', squeeze_me=True)
coord = mat['coordxy']*10
# -----------------------Initialize Geometry---------------------------------------------
def geometry_5x3x1024(num_geo):
for i in range(num_geo):
fig = plt.figure(num_geo,figsize=( pixels/my_dpi, pixels/my_dpi),facecolor='k', dpi=my_dpi)
plt.axes([0,0,1,1])
rectangle = plt.Rectangle((-300, -300), 600, 600, fc='k')
plt.gca().add_patch(rectangle)
polygon = plt.Polygon(coord[:, :, i],color='w')
plt.gca().add_patch(polygon)
plt.axis('off')
plt.axis([-300,300,-300,300])
os.mkdir("fig/%d" % i)
plt.savefig('fig/%d/%d.png' % (i,i), dpi=my_dpi)
plt.close()
return fig
解决方案
为什么不简单地使用硬编码值作为
plt.savefig('fig/%d/0.png' % (i), dpi=my_dpi)
或带有变量
count = 0
plt.savefig('fig/%d/%d.png' % (i, count), dpi=my_dpi)