InvalidArgumentError (see above for traceback): Invalid JPEG data, size 75244

除了这一句之外上面应该还有一句:Not a JPEG file: starts with 0x47 0x49

starts with 0x47 0x49说明这是一张gif图像,starts with ffd8说明这是一张jpg图像,其他格式的开头可以看:https://en.wikipedia.org/wiki/List_of_file_signatures

怎么找到这张图呢:

import binascii
image_path = "../data/TB2Ibf9aRLN8KJjSZPhXXc.spXa_!!387492340.gif.jpg" 
with open (image_path, "rb") as myfile:
    header=myfile.read(24)
    header = str(binascii.hexlify(header))[2:-1]

print (header)
##'47494638396120032003f700000000000000330000660000'

另外就是利用PIL来判断是否是jpg格式:

from PIL import Image
def is_jpg(filename):
    try:
        i=Image.open(filename)
        return i.format =='JPEG'
    except IOError:
        return Fals

备注:

decode_gif(...): 将GIF编码图像的第一帧解码为 uint8 tensor。

decode_image(...): 图像解码操作,包含了 decode_gif, decode_jpeg,和 decode_png。

decode_jpeg(...): 将jpeg编码图像解码为 uint8 tensor。

decode_png(...): 将png编码图像解码为 uint16 tensor。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值