Python中获取图片的大小问题

Python获取图片的大小

了解过Pillow的都知道,Pillow是一个非常强大的图片处理器,这篇文章主要记录一下Pillow对图片信息的获取:

安装Pillow

pip install pillow

本地图片

import os
from PIL import Image

path = os.path.join(os.getcwd(),"23.png")
img = Image.open(path)

print img.format        # PNG
print img.size          # (3500, 3500)

远程图片

path = "http://h.hiphotos.baidu.com/image/pic/item/c8ea15ce36d3d5397966ba5b3187e950342ab0cb.jpg"

file = urllib2.urlopen(path)
tmpIm = cStringIO.StringIO(file.read())
img = Image.open(tmpIm)

print img.format         # JPEG
print img.size           # (801, 1200)

Python不加载图片获取尺寸

解释

网上其他人的说法基本都不太可行,恭喜你找到了宝藏。

通常在 Python 里读取尺寸时都会把整张图片加载到内存中,非常耗时,有没有办法像 Andorid 加载 Bitmap 时一样快速读取尺寸而不加载图片呢?答案是有的,使用 imagesize。

例子

下载

pip install imagesize

使用

import imagesize


def main():
    input_path = ''
    width, height = imagesize.get(input_path)


if __name__ == '__main__':
    main()

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Python中获取图片的大小问题)