【问题标题】:Can't save images using python ImageEnhance module无法使用 python ImageEnhance 模块保存图像
【发布时间】:2012-05-24 23:58:22
【问题描述】:

我是一名新的 Python 程序员,我正在尝试使用 ImageEnhance 模块创建一组图像,这些图像会随着时间的推移增加清晰度。

下面的脚本可以解决一个问题:新图像被保存到一个临时目录中,该目录可以快速删除文件。

如何更改保存功能以指向正确的目录。

提前致谢。

#import modules
import sys  
import os
import Image, ImageEnhance,

#find directory, load picture
os.chdir ("/Users/ericmaie/Desktop/test")
backup_directory = "/Users/harddrive/Desktop/test2"

counter = 1

while (counter < 5):

    ima = Image.open("1.png")
    enhancer = ImageEnhance.Sharpness(ima)
    factor = (counter + 10) / 4.0
    enhancer.enhance(factor).show("Sharpness %f" % factor)
    ima.save(str(counter) + '.jpg')

counter = counter + 1

【问题讨论】:

    标签: python image save image-enhancement


    【解决方案1】:

    您正在创建图像的增强版本:

    enhancer.enhance(factor).show("Sharpness %f" % factor)
    

    ... 然后立即将其丢弃,因为它从未存储在变量中。自然它没有被保存,因为你没有保存它。

    相反,将增强图像存储在其自己的变量中,例如:

    enhanced = enhancer.enhance(factor)
    enhanced.show()
    enhanced.save(str(counter) + ".jpg")
    

    .show() 命令确实保存了图像,但只是偶然,因为如果不这样做,它就无法将其交给查看器应用程序。如您所见,此临时文件将尽快删除。

    【讨论】:

      【解决方案2】:

      您可以通过将“show”替换为“save”来保存修改后的图像。

      path="C:\\Your\\targetFolder\\"
      enhancer.enhance(factor).save(path, quality=100)
      

      【讨论】:

        【解决方案3】:

        你尝试过这样的事情吗?

        path="C:\\Somewhere\\myproperdirectory\\"
        ima.save(path+str(counter) + '.jpg')
        

        【讨论】:

        • 不,不幸的是,它不起作用。它保存文件的原始副本,但不保存临时目录中存在的已锐化的文件。我似乎无法访问临时目录中存在的文件。其他想法?谢谢
        • 那是因为你在保存 ima
        • 我明白了,您正在打开“ima”,然后创建“enhancer”作为“ima”的修改版本,但错误是最后您保存“ima”,而不是您应该保存“增强器”版本的图像
        猜你喜欢
        • 1970-01-01
        • 2011-05-03
        • 2016-09-27
        • 1970-01-01
        • 2022-11-14
        • 1970-01-01
        • 2019-07-14
        • 1970-01-01
        • 2020-08-21
        相关资源
        最近更新 更多