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、Pillow中的 GIF87a or GIF89a

6、Pillow中文文档


*** walker ***

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


RQSLT

相关文章
|
1月前
|
数据挖掘 数据安全/隐私保护 开发者
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
83 0
|
1月前
|
存储 移动开发 算法
Python怎么将图片转换成base64编码
Python怎么将图片转换成base64编码
27 0
|
8天前
|
机器学习/深度学习 算法 自动驾驶
opencv python 图片叠加
【4月更文挑战第17天】
|
1月前
|
文字识别 数据挖掘 网络安全
Python实现avif图片转jpg格式并识别图片中的文字
在做数据分析的时候有些数据是从图片上去获取的,这就需要去识别图片上的文字。Python有很多库可以很方便的实现OCR识别图片中的文字。这里介绍用EasyOCR库进行图片文字识别。easyocr是一个比较流行的库,支持超过80种语言,识别率高,速度也比较快。
29 2
|
1月前
|
数据可视化 算法 Linux
深入剖析Python最强大图片处理模块——Pillow
深入剖析Python最强大图片处理模块——Pillow
33 0
|
1月前
|
机器学习/深度学习 文字识别 自然语言处理
Python图片格式转换与文字识别:技术与实践
Python图片格式转换与文字识别:技术与实践
48 0
|
1月前
|
机器学习/深度学习 文字识别 数据安全/隐私保护
Python实现从PDF和图片提取文字的方法总结
Python实现从PDF和图片提取文字的方法总结
54 0
|
1月前
|
数据安全/隐私保护 计算机视觉 Python
如何使用Python给图片添加水印
如何使用Python给图片添加水印
19 0
|
1月前
|
数据安全/隐私保护 Python
python怎么使用Pillow库来添加图片水印
python怎么使用Pillow库来添加图片水印
23 0
|
1月前
|
人工智能 开发工具 git
第一次运行 Python 项目,使用 python-pptx 提取 ppt 中的文字和图片
人工智能时代,最需要学习的编程语言是:python 。笔者是个 python 小白,昨天花了两个小时,第一次成功运行起来 python 项目 。 项目是 powerpoint-extractor ,可以将 ppt 文件中的图片提取出来,并输出到固定的目录。
第一次运行 Python 项目,使用 python-pptx 提取 ppt 中的文字和图片