【问题标题】:How to save multiple outputs after reading multiple inputs in Python在Python中读取多个输入后如何保存多个输出
【发布时间】:2018-05-02 17:05:28
【问题描述】:

我正在从文件夹中读取 .png 图像并进行一些操作,我想按 Img1.png、Img2.png、Img3.png 之类的顺序保存这些图像。我尝试使用此代码:

cv2.imwrite("Img{}.png".format(i),Image)

但它一直覆盖单个图像。

下面是代码:

def main(path):
    i=0
    image = cv2.imread(path)

    #do some operations on image

    cv2.imwrite('Img{}.png'.format(i),image)
    i=i+1
    cv2.waitKey(0)

路径包含多个 .png 图像,因此当 main 执行时它会重置 'i' 的值并覆盖输出。

【问题讨论】:

  • 我不知道你程序的复杂性,但你不能为 i 使用全局变量吗?
  • 你使用什么模块?
  • 我尝试使用全局变量,但显示错误。我使用 numpy 和 opencv 以及 python 版本 2.7.14
  • 听起来你想弄清楚目录中已经有哪些图像,然后从下一个可用的图像名称开始索引。

标签: python image opencv


【解决方案1】:

我认为路径 - 空格分隔:

path = "im1.png  imre.png  lena.jpg"

它是这样接缝的:

path_lst = path.split(' ')
for i, path_i in enumerate(path_lst):
    image = cv2.imread(path_i)
    #do some operations on image
    cv2.imwrite('Img{}.png'.format(i),image)

一切正常。 Idk - 为什么他们给了我“-” =D

【讨论】:

    【解决方案2】:

    我想这是因为格式的类型。旧的python使用'%s %s' % ('one', 'two')format,你试过这种格式吗?

    【讨论】:

      猜你喜欢
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多