By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,035 Members | 1,984 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,035 IT Pros & Developers. It's quick & easy.

Scaling pictures

P: n/a
I would like some advice, I'm going to build a small app that will, among
other things, scale images so that they can be published on a web site. I've
never done any image processing in python before so I would like to ask what
is the best way of doing this, I will not do anything else than scaling the
images.

I found the Python Imaging Library but before I dive into that I would like
to know if there is a better way of doing this.

Dec 28 '06 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Kajsa Anka wrote:
I would like some advice, I'm going to build a small app that will, among
other things, scale images so that they can be published on a web site. I've
never done any image processing in python before so I would like to ask what
is the best way of doing this, I will not do anything else than scaling the
images.

I found the Python Imaging Library but before I dive into that I would like
to know if there is a better way of doing this.
I prefer using imagemagick whenever I have to do anything related to
images.
http://www.imagemagick.org/script/index.php

Resizing an image would be something like this

import os

filename = "picture.png"
outputfile = "picture_resized.png"
new_size = "100x100"
os.system("convert %s -resize %s %s" % (filename, new_size, outputfile))

Dec 28 '06 #2

P: n/a

Kajsa Anka wrote:
I would like some advice, I'm going to build a small app that will, among
other things, scale images so that they can be published on a web site. I've
never done any image processing in python before so I would like to ask what
is the best way of doing this, I will not do anything else than scaling the
images.

I found the Python Imaging Library but before I dive into that I would like
to know if there is a better way of doing this.
Yes. Python Imaging Library (PIL) is the preferred Python way to do
this. The example is right in the documentation.
http://www.pythonware.com/library/pi...book/image.htm

from PIL import Image
import glob, os

size = 128, 128

for infile in glob.glob("*.jpg"):
file, ext = os.path.splitext(infile)
im = Image.open(infile)
im.thumbnail(size, Image.ANTIALIAS)
im.save(file + ".thumbnail", "JPEG")

Dec 28 '06 #3

P: n/a
Kajsa Anka:
I found the Python Imaging Library but before I dive into that I would like
to know if there is a better way of doing this.
PIL is very fit for that. Note that it creates thumbnails already by
itself, you can use that for bigger images too.

Bye,
bearophile

Dec 28 '06 #4

P: n/a
On Thu, 28 Dec 2006 11:53:41 +0100, Kajsa Anka wrote
(in article <00*****************************@News.Individual.D E>):

Thanks for the answers, I'll use PIL.

jem

Dec 29 '06 #5

P: n/a
PIL is certainly a fine option, but I noticed that the scaled images
(scaled with the ANTIALIAS filter) are not as good as you can get with,
say, Photoshop. Maybe I'm just expecting too much, but I wish I could
choose a higher quality rescaling algorithm. PIL still rocks though.

On Dec 28, 2:32 pm, "Ravi Teja" <webravit...@gmail.comwrote:
Kajsa Anka wrote:
I would like some advice, I'm going to build a small app that will, among
other things, scale images so that they can be published on a web site. I've
never done any image processing in python before so I would like to ask what
is the best way of doing this, I will not do anything else than scaling the
images.
I found the Python Imaging Library but before I dive into that I would like
to know if there is a better way of doing this.Yes. Python Imaging Library (PIL) is the preferred Python way to do
this. The example is right in the documentation.http://www.pythonware.com/library/pi...book/image.htm

from PIL import Image
import glob, os

size = 128, 128

for infile in glob.glob("*.jpg"):
file, ext = os.path.splitext(infile)
im = Image.open(infile)
im.thumbnail(size, Image.ANTIALIAS)
im.save(file + ".thumbnail", "JPEG")
Dec 29 '06 #6

P: n/a
cyberco wrote:
PIL is certainly a fine option, but I noticed that the scaled images
(scaled with the ANTIALIAS filter) are not as good as you can get with,
say, Photoshop. Maybe I'm just expecting too much, but I wish I could
choose a higher quality rescaling algorithm. PIL still rocks though.
Sorry, I should have checked the facts a little better: you can set the
quality of the compression when saving:

====================================
img = Image.open('old.jpg')
img.thumbnail((640,480), Image.ANTIALIAS)
img.save('new.jpg', quality=95)
====================================

Now PIL is definitely the way to go. :)

Dec 30 '06 #7

This discussion thread is closed

Replies have been disabled for this discussion.