私は元のサイズの約60%にサイズを変更したい画像のディレクトリがあります。ディレクトリ内の画像のサイズを変更する
は、どのように私はこれを行うに行きますか?私はPIL(Pythonの画像ライブラリ)でのPythonを使う乾杯
EEF
私は元のサイズの約60%にサイズを変更したい画像のディレクトリがあります。ディレクトリ内の画像のサイズを変更する
は、どのように私はこれを行うに行きますか?私はPIL(Pythonの画像ライブラリ)でのPythonを使う乾杯
EEF
モグリフを使用すると、ImageMagickの部分はどうですか?これをPerlから実際に制御する必要がある場合は、Image::Magick、Image::ResizeまたはImagerを使用できます。
PythonやPerlのいずれかにすることができます。もちろんこれを行うための特別なプログラムがあります。
多くの人がPILを使用しています。 Quick image resizing with python
PILは非常に強力ですが、最近、私はこのレシピを発見した:見て Putting watermark to images in batch
使用PerlMagickが、もののちょうどこの種を行うには、コマンドラインツールの人気ImageMagickスイートへのインタフェースです。 PythonMagicも利用可能です。
サイズを変更するだけで済みますか、プログラムでサイズを変更する必要がありますか? サイズ変更するだけの場合は、PixResizerを使用します。 http://bluefive.pair.com/pixresizer.htm
シェルに入れることはできますか?
mkdir resized
for a in *.jpg; do convert "$a" -resize 60% resized/"$a"; done
あなたは> 1つのコアを持っている場合、あなたはこのようにそれを行うことができます。
find . -maxdepth 1 -type f -name '*.jpg' -print0 | xargs -0 -P3 -I XXX convert XXX -resize 60% resized/XXX
-P3は、同じ時間(並列)で3枚までサイズを変更することを意味します。
オリジナルを保存する必要がない場合は、mogrifyを使用できますが、convert、rm ...を使用することをお勧めします。 mv ... - サイズ変更が(何らかの理由で)失敗するならば、安全面にいるだけです。
ありがとう、これは私が探していたものです。 –
プログラマチックに行う場合は、PILを使用してサイズを変更します(例:
newIm = im.resize((newW, newH)
次に同じファイルまたは新しい場所に保存してください。
フォルダを再帰的に移動し、すべての画像にサイズ変更機能を適用します。
私はあなたのために働くと思うサンプルスクリプトを思いついた。あなたはそれを改善することができます:多分それをグラフィカルにし、オプションを追加します。同じ拡張子またはすべてのpng、リサイズサンプルの線形/双線形など
import os
import sys
from PIL import Image
def resize(folder, fileName, factor):
filePath = os.path.join(folder, fileName)
im = Image.open(filePath)
w, h = im.size
newIm = im.resize((int(w*factor), int(h*factor)))
# i am saving a copy, you can overrider orginal, or save to other folder
newIm.save(filePath+"copy.png")
def bulkResize(imageFolder, factor):
imgExts = ["png", "bmp", "jpg"]
for path, dirs, files in os.walk(imageFolder):
for fileName in files:
ext = fileName[-3:].lower()
if ext not in imgExts:
continue
resize(path, fileName, factor)
if __name__ == "__main__":
imageFolder=sys.argv[1] # first arg is path to image folder
resizeFactor=float(sys.argv[2])/100.0# 2nd is resize in %
bulkResize(imageFolder, resizeFactor)
わかりません。まず第一に、それは一度の仕事だとは言いません。第二に、「Irfan View」はオプションではないかもしれません。たとえば、オペレーティングシステムの制約のためです。 3番目 - ImageMagickは非常に複雑で、バッチツールとして使用してもプログラミングのようなものです。 –