Skip to content

shibukawa/imagesize_py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

imagesize

image

This module analyzes JPEG/JPEG 2000/PNG/GIF/TIFF/SVG/Netpbm/WebP image headers and returns image size or DIP.

import imagesize

width, height = imagesize.get("test.png")
print(width, height)

width, height = imagesize.getDPI("test.png")
print(width, height)

This module is a pure Python module. You can use file like object like file or something like io.BytesIO.

API

  • imagesize.get(filepath)

    Returns image size (width, height).

  • imagesize.getDPI(filepath)

    Returns image DPI (width, height).

Benchmark

It only parses headers, and ignores pixel data. So it is much faster than Pillow.

module result
imagesize (pure Python) 1.077 seconds per 100 000 times
Pillow 10.569 seconds per 100 000 times

I tested on MacBookPro (2014/Core i7) with 125kB PNG files.

Development

Run test with the following command:

python -m unittest

License

MIT License

Thanks

I referred to the following code:

I use sample image from here:

Thank you for feedback: