python如何将不同的图片保存到不同的目录?
How to save different images into different directories in python?
我想在 4 个目录中保存 4 个图像,目录名称是 4,5,6,7(例如目录 4 中的图像 1 和目录 5 中的图像 2 等等)但它似乎是我的 for 循环这是不正确的,只是将最后一张图像保存在目录 4 中。
import numpy as np
import matplotlib.pyplot as plt
import os
pixels = 600
my_dpi = 100
num_geo=3
coord = np.array([[[-150, -200], [300, -200], [300, 0], [150, 200], [-150, 200]],
[[-300, -200], [200, -300], [200, -50], [200, 300], [-150, 200]],
[[-140, -230], [350, -260], [350, 0], [140, 200], [-180, 220]],
[[-180, -240], [370, -270], [370, 0], [170, 200], [-190, 230]]])
for i in range(4):
geo = coord[i, :, :]
print(coord[i])
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])
for j in range(4,8):
os.mkdir("fig/%d" % j)
plt.savefig('fig/%d/%d.jpg' % (j,i), dpi=my_dpi)
plt.close()
您不需要第二个循环 - 除了当 i
的值为 4
时它会在第一个循环之后运行,因此您将获得目录 4
中的所有图像
你需要j = i + 4
for i in range(4):
geo = coord[i, :, :]
print(coord[i])
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])
j = i + 4
os.mkdir("fig/%d" % j)
plt.savefig('fig/%d/%d.jpg' % (j,i), dpi=my_dpi)
plt.close()
我想在 4 个目录中保存 4 个图像,目录名称是 4,5,6,7(例如目录 4 中的图像 1 和目录 5 中的图像 2 等等)但它似乎是我的 for 循环这是不正确的,只是将最后一张图像保存在目录 4 中。
import numpy as np
import matplotlib.pyplot as plt
import os
pixels = 600
my_dpi = 100
num_geo=3
coord = np.array([[[-150, -200], [300, -200], [300, 0], [150, 200], [-150, 200]],
[[-300, -200], [200, -300], [200, -50], [200, 300], [-150, 200]],
[[-140, -230], [350, -260], [350, 0], [140, 200], [-180, 220]],
[[-180, -240], [370, -270], [370, 0], [170, 200], [-190, 230]]])
for i in range(4):
geo = coord[i, :, :]
print(coord[i])
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])
for j in range(4,8):
os.mkdir("fig/%d" % j)
plt.savefig('fig/%d/%d.jpg' % (j,i), dpi=my_dpi)
plt.close()
您不需要第二个循环 - 除了当 i
的值为 4
时它会在第一个循环之后运行,因此您将获得目录 4
你需要j = i + 4
for i in range(4):
geo = coord[i, :, :]
print(coord[i])
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])
j = i + 4
os.mkdir("fig/%d" % j)
plt.savefig('fig/%d/%d.jpg' % (j,i), dpi=my_dpi)
plt.close()