将.jpg图像转换为.png

时间:2012-05-25 17:49:15

标签: python python-2.7

我环顾四周阅读文档,发现没有办法或解决办法,所以我在这里问。是否有任何软件包可以使用Python将JPG图像转换为PNG图像?

6 个答案:

答案 0 :(得分:27)

为此,您始终可以使用Python Image Library (PIL)。可能还有其他的包/库,但我之前使用过它来转换格式。

这适用于Windows下的Python 2.7(Python Imaging Library 1.1.7 for Python 2.7),我在2.7.1和2.7.2中使用它

from PIL import Image

im = Image.open('Foto.jpg')
im.save('Foto.png')

请注意,您的原始问题未提及您使用的Python版本或操作系统。这可能会有所不同:))

答案 1 :(得分:10)

Python图片库:http://www.pythonware.com/products/pil/

来自:http://effbot.org/imagingbook/image.htm

import Image
im = Image.open("file.png")
im.save("file.jpg", "JPEG")
  

保存

     

im.save(outfile,options ...)

     

im.save(outfile,format,options ...)

     

将图像保存在给定的文件名下。如果省略format,则   如果可能,格式由文件扩展名确定。这个   方法返回None。

     

关键字选项可用于为其提供其他说明   作家。如果作者不认识一个选项,那就是默默无闻   忽略。可用选项将在本手册的后面部分介绍。

     

您可以使用文件对象而不是文件名。在这种情况下,你   必须始终指定格式。文件对象必须实现   寻找,告知和编写方法,并以二进制模式打开。

     

如果保存失败,由于某种原因,该方法将引发异常   (通常是IOError异常)。如果发生这种情况,该方法可能会有   创建了该文件,并可能已将数据写入其中。这取决于你的   必要时应用程序删除不完整的文件。

答案 2 :(得分:2)

当我在单个目录中搜索快速转换文件时,我想分享这个短剪辑,将当前目录中的任何文件转换为.png或您指定的任何目标。

from PIL import Image
from os import listdir
from os.path import splitext

target_directory = '.'
target = '.png'

for file in listdir(target_directory):
filename, extension = splitext(file)
try:
    if extension not in ['.py', target]:
        im = Image.open(filename + extension)
        im.save(filename + target)
except OSError:
    print('Cannot convert %s' % file)

答案 3 :(得分:0)

我自己不使用python,但请尝试查看: http://www.pythonware.com/products/pil/

import Image
im = Image.open("infile.png")
im.save("outfile.jpg")

(摘自http://mail.python.org/pipermail/python-list/2001-April/700256.html

答案 4 :(得分:0)

from glob import glob                                                           
import cv2 
pngs = glob('./*.png')

for j in pngs:
    img = cv2.imread(j)
    cv2.imwrite(j[:-3] + 'jpg', img)

此网址:https://gist.github.com/qingswu/1a58c9d66dfc0a6aaac45528bbe01b82

答案 5 :(得分:0)

import cv2

image =cv2.imread("test_image.jpg", 1)

cv2.imwrite("test_image.png", image)