利用Python提取网络图片的像素尺寸、格式等相关信息

有时候我们遇到分析服务器上存储的图片的业务需求,通过捕获其像素尺寸等信息来分析一下图片质量是否符合要求。

假定给出一个URL,如何从服务器捕获该URL所对应的图片的相关信息呢?

利用Python的urllib及PIL中的Image即可轻松实现。

废话少说,直接上码:

首先导入相关包:

import urllib
from PIL import Image

然后,定义类:

class get_image:
    def __init__(self,url):
        try:
            self.img = Image.open(urllib.request.urlopen(url))
        except:
            self.img = -1
        
    def imgsize(self):
        if self.img == -1:
            return "Error"
        return list(self.img.size)
    def imgformat(self):
        if self.img == -1:
            return "Error"
        return self.img.format

上述代码中,我将读取URL的步骤与捕获图片尺寸、格式的函数封装成了一个类,通过下面的方式实例化一个get_image类即可读取一张网络图片:

img = get_image(url)

实例化之后,即可调用类中定义的方法:

imsize = img.imgsize()
imformat = img.imgformat()

具体操作及结果如下:

In [4]:img = get_image(url)

In [5]:img.imgsize()
Out[5]: [382, 300]

In [6]:img.imgformat()
Out[6]: 'JPEG'

OK,至此我们就搞定了如何从URL中提取图片信息,大家赶紧去试试吧~

猜你喜欢

转载自blog.csdn.net/oYeZhou/article/details/81126110
今日推荐