Python利用pillow判断图片完整性

简介:

1、安装第三方库。

1
pip install pillow

2、函数示例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#encoding: utf-8
#author: walker
#date: 2016-07-26
#summary: 判断图片的有效性
  
import  io
import  imghdr
from  os  import  PathLike 
from  PIL  import  Image   
  
   
#判断文件是否为有效(完整)的图片
#输入参数为文件路径,或文件对象
def  IsValidImage( file ): 
     bValid  =  True
     if  isinstance ( file , ( str , PathLike)):
         fileObj  =  open ( file 'rb' )
     else :
         fileObj  =  file
     
     buf  =  fileObj.read()
     if  buf[ 6 : 10 in  (b 'JFIF' , b 'Exif' ):      #jpg图片
         if  not  buf.rstrip(b '\0\r\n' ).endswith(b '\xff\xd9' ):
             bValid  =  False
     else :        
         try :  
             Image. open (fileObj).verify() 
         except :  
             bValid  =  False
          
     return  bValid
      
      
#判断文件是否为有效(完整)的图片
#输入参数为bytes,如网络请求返回的二进制数据
def  IsValidImage4Bytes(buf): 
     bValid  =  True
     try :  
         Image. open (io.BytesIO(buf)).verify() 
     except :  
         bValid  =  False
          
     return  bValid
     
     
#判断文件是否为有效(完整)的图片
#输入参数为bytes,如网络请求返回的二进制数据
def  IsValidImage4Bytes(buf): 
     bValid  =  True
     if  buf[ 6 : 10 in  (b 'JFIF' , b 'Exif' ):      #jpg图片
         if  not  buf.rstrip(b '\0\r\n' ).endswith(b '\xff\xd9' ):
             bValid  =  False
     else :        
         try :  
             Image. open (io.BytesIO(buf)).verify() 
         except :  
             bValid  =  False
          
     return  bValid


相关阅读:

1、Image.verify

2、Open PIL image from byte file

3、如何判断JPG文件下载完整了?

4、Pillow生成gif文件大小问题:Gif image size problem

5、

6、Pillow中文文档


*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1830138如需转载请自行联系原作者


RQSLT

相关文章
|
4月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1485 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
4月前
|
Python
Python实用记录(六):如何打开txt文档并删除指定绝对路径下图片
这篇文章介绍了如何使用Python打开txt文档,删除文档中指定路径的图片,并提供了一段示例代码来展示这一过程。
49 1
|
4月前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
130 0
|
4月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
217 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
4月前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
50 1
|
4月前
|
编解码 UED Python
Python批量修改指定目录下图片的大小名文章
Python批量修改指定目录下图片的大小名文章
31 1
|
4月前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
49 1
|
4月前
|
数据采集 自然语言处理 Python
用 Python 生成并识别图片验证码
用 Python 生成并识别图片验证码
109 1
|
5月前
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
68 0
|
4月前
|
计算机视觉 Python
Python中Pillow库的常见用法和代码示例
Pillow是Python中广泛使用的图像处理库,支持丰富的图像操作功能,包括但不限于打开、保存、缩放、裁剪、旋转、调色等。本文通过一系列示例介绍Pillow的基本用法,涵盖图像的加载与显示、尺寸调整、裁剪与旋转、亮度调整、格式转换、滤镜应用、图像合成及像素级操作等。首先需通过`pip install pillow`安装库,随后可通过导入`PIL.Image`等模块开始图像处理任务。无论是初学者还是进阶用户,都能从Pillow提供的强大功能中获益。
168 0

热门文章

最新文章