I've looked around and read the docs, and found no way or solution, so I ask here. Is there any packages available to use Python to convert a JPG image to a PNG image?
6 に答える
この目的のために、いつでもPython Image Library(PIL)を使用できます。他のパッケージ/ライブラリもあるかもしれませんが、私は以前にこれを使用してフォーマット間で変換しました。
これはWindowsのPython2.7(Python2.7の場合はPythonImaging Library 1.1.7)で動作します。2.7.1と2.7.2で使用しています。
from PIL import Image
im = Image.open('Foto.jpg')
im.save('Foto.png')
元の質問では、使用しているPythonのバージョンやOSについては言及されていなかったことに注意してください。もちろん違いを生むかもしれません:)
Python Image Library: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を返します。
キーワードオプションを使用して、ライターに追加の指示を提供できます。ライターがオプションを認識しない場合、それは黙って無視されます。使用可能なオプションについては、このハンドブックの後半で説明します。
ファイル名の代わりにファイルオブジェクトを使用できます。この場合、常にフォーマットを指定する必要があります。ファイルオブジェクトは、seek、tell、およびwriteメソッドを実装し、バイナリモードで開く必要があります。
何らかの理由で保存が失敗した場合、メソッドは例外(通常はIOError例外)を発生させます。これが発生した場合、メソッドがファイルを作成し、それにデータを書き込んだ可能性があります。必要に応じて、不完全なファイルを削除するのはアプリケーション次第です。
単一のディレクトリ内のファイルのクイックコンバーターを検索したときに、現在のディレクトリ内のファイルを.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)
from glob import glob
import cv2
pngs = glob('./*.png')
for j in pngs:
img = cv2.imread(j)
cv2.imwrite(j[:-3] + 'jpg', img)
このURL:https ://gist.github.com/qingswu/1a58c9d66dfc0a6aaac45528bbe01b82
import cv2
image =cv2.imread("test_image.jpg", 1)
cv2.imwrite("test_image.png", image)
私自身は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から取得)