迭代文件夹打开,逐个处理并保存图像

我有一个文件夹“Images-2”,它有超过100个子文件夹,这些子文件夹由每个文件夹一个图像组成。 def main()打开每个图像,然后def run(img)拍摄图像并对其进行处理,但现在我无法将该图像保存在其子文件夹中。迭代文件夹打开,逐个处理并保存图像

例如def main C:/Images-2/1/1.png(1是文件夹的名称,所以我有100个文件夹中的图像-2)

如果条件将保存处理后的图像(零。 png)in folder Images-2/1/

它如何工作100个文件夹,每个文件夹1个图像?

def run(img): 

data = img.load()

width, height = img.size

output_img = Image.new("RGB", (100, 100))

Zero=np.zeros(shape=(100, 100),dtype=np.uint8)

for (x, y) in labels:

component = uf.find(labels[(x, y)])

labels[(x, y)] = component

path='C:/Python27/cclabel/Images-2/'

if labels[(x, y)]==0:

Zero[y][x]=int(255)

Zeroth = Image.fromarray(Zero)

for root, dirs in os.walk(path):

print root

print dirs

Zeroth.save(path+'Zero'+'.png','png')

def main():

# Open the image

path="C:/Python27/cclabel/Images-2/"

for root, dirs, files in os.walk(path):

for file_ in files:

img = Image.open(os.path.join(root, file_))

img = img.point(lambda p: p > 190 and 255)

img = img.convert('1')

(labels, output_img) = run(img)

if __name__ == "__main__": main()

回答:

您打电话给os.walk两次。那是你的问题。这就是我的意见在我的意见:

def run(dirname, img): 

data = img.load()

width, height = img.size

output_img = Image.new("RGB", (100, 100))

Zero=np.zeros(shape=(100, 100), dtype=np.uint8)

for (x, y) in labels:

component = uf.find(labels[(x, y)])

labels[(x, y)] = component

path = 'C:/Python27/cclabel/Images-2/'

if labels[(x, y)] == 0:

Zero[y][x] = 255

Zeroth = Image.fromarray(Zero)

Zeroth.save(os.path.join(dirname, 'Zero.png'), 'png')

def main():

path = "C:/Python27/cclabel/Images-2/"

for root, dirs, files in os.walk(path):

for file_ in files:

img = Image.open(os.path.join(root, file_))

img = img.point(lambda p: p > 190 and 255)

img = img.convert('1')

(labels, output_img) = run(root, img)

if __name__ == "__main__":

main()

以上是 迭代文件夹打开,逐个处理并保存图像 的全部内容, 来源链接: utcz.com/qa/259901.html

回到顶部