Is it possible to change a picture resolution with Python?
Let's say I have a picture with a resolution of 96 dpi and I would like
to increase to 256dpi or higher.
Thank you for your reply.
LL 8 35696
Lad:
Is it possible to change a picture resolution with Python?
Let's say I have a picture with a resolution of 96 dpi and I would like
to increase to 256dpi or higher.
"Resolution" is a too much overloaded word, from some point of view
increasing the resolution of images is a very difficult thing, that may
need deblurring, etc. So let's talk in a simpler way, about the len of
the sides of the image measured in pixels.
To increase such len, you can use PIL library, the resize method from
image: http://www.pythonware.com/library/pi...book/image.htm
This is some example code:
from PIL import Image
im = Image.open("1.jpg")
nx, ny = im.size
im2 = im.resize((int(nx*1.5), int(ny*1.5)), Image.BICUBIC)
im2.save("2.png")
Bye,
bearophile
from
image: http://www.pythonware.com/library/pi...book/image.htm
This is some example code:
from PIL import Image
im = Image.open("1.jpg")
nx, ny = im.size
im2 = im.resize((int(nx*1.5), int(ny*1.5)), Image.BICUBIC)
im2.save("2.png")
Bye,
bearophile,
Thank you for your reply.
But the above code increases size only , but not DPI resolutions(
vertical nad horizontal).I need a higher vertical and horisontal
resolutions.
Any idea how to do that?
Thank you
Lad:
But the above code increases size only , but not DPI resolutions(
vertical nad horizontal).I need a higher vertical and horisontal
resolutions.
Any idea how to do that?
Do you need to overwrite the DPI tag contained in the header of a
Jpeg/PNG image?
Then you can probably find some library to modify such jpeg/png tags.
(I think Photoshop is able to do it.)
Bye,
bearophile
Thank you for your reply.
But the above code increases size only , but not DPI resolutions(
vertical nad horizontal).I need a higher vertical and horisontal
resolutions.
Any idea how to do that?
The DPI is nothing an image contains by itself - it depends on the
resolution of the rendering device!
So - without knowing what DPI the output device produces, and which
resolution the image was acquired in, you can't do anything.
If you know these two quantities, you can scale the image by the appropriate
amount.
Bearophile suggested that there might be a DPI-information stored in the
image itself. If so, it is hopefully the DPI the image was e.g. scanned in.
But if you for example afterwards scaled it by half, this information must
be altered accordingly, to reflect the changes.
Diez
"Lad" <py****@hope.czwrote:
from
>image: http://www.pythonware.com/library/pi...book/image.htm
This is some example code:
from PIL import Image im = Image.open("1.jpg") nx, ny = im.size im2 = im.resize((int(nx*1.5), int(ny*1.5)), Image.BICUBIC) im2.save("2.png")
Bye,
bearophile,
Thank you for your reply.
But the above code increases size only , but not DPI resolutions(
vertical nad horizontal).I need a higher vertical and horisontal
resolutions.
Any idea how to do that?
Thank you
If you just want to change the dpi flag that some software uses to
interpret the size of the image when rendering it, something like:
im.save('c:/tmp/out.jpg', dpi=(100,100))
might work. You can get lots of info on why this doesn't really change
the resolution of the image from google.
max
"Lad" <py****@hope.czwrote:
>from
>image: http://www.pythonware.com/library/pi...book/image.htm
This is some example code:
from PIL import Image im = Image.open("1.jpg") nx, ny = im.size im2 = im.resize((int(nx*1.5), int(ny*1.5)), Image.BICUBIC) im2.save("2.png")
Bye,
bearophile, Thank you for your reply. But the above code increases size only , but not DPI resolutions( vertical nad horizontal).I need a higher vertical and horisontal resolutions.
I'm not convinced that you know what you are asking for.
Let's say you have an image that is 300x300 pixels, that is tagged as being
100 dpi. Such an image is expected to be printed at a 3" x 3" size.
Now, if you want to increase the dpi to 300 dpi, what does that mean? Does
it mean you want that same picture to be printed at a 1" x 1" size? If so,
then all you need to change is the picture header. It will still be
300x300 pixels, and the file will be the same number of bytes.
Or, do you mean that you want the picture to continue to print as 3" x 3",
but to have three times as many pixels in each direction? That means you
have to increase the number of pixels to 900x900. That's exactly what the
code above is doing. The image file will be 9 times larger.
--
- Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Tim Roberts wrote:
"Lad" <py****@hope.czwrote:
from
image: http://www.pythonware.com/library/pi...book/image.htm
This is some example code:
from PIL import Image
im = Image.open("1.jpg")
nx, ny = im.size
im2 = im.resize((int(nx*1.5), int(ny*1.5)), Image.BICUBIC)
im2.save("2.png")
Bye,
bearophile,
Thank you for your reply.
But the above code increases size only , but not DPI resolutions(
vertical nad horizontal).I need a higher vertical and horisontal
resolutions.
I'm not convinced that you know what you are asking for.
Let's say you have an image that is 300x300 pixels, that is tagged as being
100 dpi. Such an image is expected to be printed at a 3" x 3" size.
Now, if you want to increase the dpi to 300 dpi, what does that mean? Does
it mean you want that same picture to be printed at a 1" x 1" size? If so,
then all you need to change is the picture header. It will still be
300x300 pixels, and the file will be the same number of bytes.
Or, do you mean that you want the picture to continue to print as 3" x 3",
but to have three times as many pixels in each direction? That means you
have to increase the number of pixels to 900x900. That's exactly what the
code above is doing. The image file will be 9 times larger.
Tim ,
Thank you for the explanation,
And I must also thank you all you others, who helped me.
Particularly, bearophile and Max.
Now I use the following code , that provided bearophile,
from PIL import Image
im = Image.open("output3.jpg")
nx, ny = im.size
im2 = im.resize((int(nx*2.5), int(ny*2.5)), Image.BICUBIC)
im2.save("2000.png",dpi=(520,520))
and very important thing was dpi=(520,520) that provided Max,
L.
"Lad" <py****@hope.czwrote:
> Tim , Thank you for the explanation, And I must also thank you all you others, who helped me. Particularly, bearophile and Max.
Now I use the following code , that provided bearophile,
from PIL import Image im = Image.open("output3.jpg") nx, ny = im.size im2 = im.resize((int(nx*2.5), int(ny*2.5)), Image.BICUBIC) im2.save("2000.png",dpi=(520,520))
and very important thing was dpi=(520,520) that provided Max,
I'm glad that you achieved your goal, but I don't think we have quite made
our point yet. I want to make sure this is clear, in case you need to do
this again.
The dpi=(520,520) is NOT the "very important thing". The only thing that
does is change the number in the header. It doesn't change the image at
all. The "very important thing" in this script is the "im.resize", which
smoothly stretches the image so that it has 2.5 times as many pixels as
before. It is that stretching which allows you to change the DPI in the
header, and yet still have it print at the same size.
--
- Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: duikboot |
last post by:
Hi there,
In Photoshop I can, when I want to change the dpi(dots per inch) of a
picture, arrange that the picture won't be resized. Do you know...
|
by: python newbie |
last post by:
Hi, first I wanted to say that:
I have finally been able to ftp a file in my python app - however, it
works like this:
When you use...
|
by: Pedro Werneck |
last post by:
Hi
I have a class A, with metaclass M_A, and class B, subclass of A, with
metaclass M_B, subclass of M_A.
A class C, subclass of B must have...
|
by: John Ortt |
last post by:
Hi there everyone,
I have a part info form which has a faded image of our company logo as a
background.
I want to replace the faded image with a...
|
by: Tuvas |
last post by:
I have a function in a program that works something like this.
def load_pic_data(width,heigth,inpdat, filt=TRUE):
data=''
total=0
tnum=0...
|
by: Norman Swartz |
last post by:
I want to place some graphic images on the web that are optimally viewed at
a resolution of 1024 by 768 pixels. Is it possible, within...
|
by: Baron Samedi |
last post by:
Every so often, I see someone wanting to prevent heir images being
downloaded and the general consensus is "you can't".
Now a friend has asked me...
|
by: Greg Guarino |
last post by:
Let me first apologize for the myriad bits of ignorance that are to
follow.
Our company does consulting work. We have found over the years that...
|
by: Louis |
last post by:
Hello,
My website is 910 pixels wide. The content area is 552 pixels wide. If
I place a picture in the content area that is wider than 552 pixels...
|
by: tammygombez |
last post by:
Hey fellow JavaFX developers,
I'm currently working on a project that involves using a ComboBox in JavaFX, and I've run into a bit of an issue....
|
by: tammygombez |
last post by:
Hey everyone!
I've been researching gaming laptops lately, and I must say, they can get pretty expensive. However, I've come across some great...
|
by: concettolabs |
last post by:
In today's business world, businesses are increasingly turning to PowerApps to develop custom business applications. PowerApps is a powerful tool...
|
by: better678 |
last post by:
Question:
Discuss your understanding of the Java platform. Is the statement "Java is interpreted" correct?
Answer:
Java is an object-oriented...
|
by: Kemmylinns12 |
last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
|
by: CD Tom |
last post by:
This only shows up in access runtime. When a user select a report from my report menu when they close the report they get a menu I've called Add-ins...
|
by: Matthew3360 |
last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function.
Here is my code.
...
|
by: Matthew3360 |
last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it...
|
by: AndyPSV |
last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable...
| |