Python/Opencv将多个图像保存到具有不同名称的文件夹中

rekjcdws  于 2022-11-24  发布在  Python
关注(0)|答案(2)|浏览(159)

我正在进行图像处理,我有一个文件夹,其中包含所有需要处理的图像,我想将所有处理过的图像保存到另一个文件夹中。我该如何操作?

for img in glob.glob("Img/*.png"):
    path = '/result'
    image = cv2.imread(img)
    angle, rotated = correct_skew(image)
    print(angle)
    cv2.imwrite(os.path.join(path , 'img.png'), rotated)
    cv2.waitKey(1)

这段代码可以读取图像并对其进行处理,但我不知道如何用不同的名称保存所有图像,比如我希望它是img1.png、img2.png等。
或者,是否有任何方法可以将图像保存到与以前同名的另一个文件夹中?

ar7v8xwq

ar7v8xwq1#

为了以串行方式保存处理过的图像,可以使用enumerate。当使用enumerate启动一个循环时,也会启动一个计数器。每次迭代都会产生一个整数。
在下面的例子中,i是整数值,每次迭代都会递增。i用作文件名的一部分,用于保存处理后的图像

path = '/result'
for i, img in enumerate(glob.glob("Img/*.png"), 1):
    image = cv2.imread(img)
    angle, rotated = correct_skew(image)
    print(angle)
    cv2.imwrite(os.path.join(output_path, 'img_{}.png'.format(i)), rotated)
dtcbnfnu

dtcbnfnu2#

将最后一行保存为包含在字符串()中的变量
然后对最后一行执行cv2.imwrite(变量)。

我的想法是将类型改为字符串,然后按照原来的要求写入文件。当你保存为字符串时,你可以在for语句中改变它的类型。

相关问题