深度学习图片EXIF问题与图片大小判断

本文介绍了一种解决图像下载时读取错误的方法,包括处理EXIF问题和判断图像重新定义大小是否会导致错误。通过Python代码示例,演示了如何移除图像的EXIF信息,调整图像大小,并捕获可能发生的IO错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用于解决下载图像读取错误,exif问题,与判断图像重新定义大小是否会出错问题,并找出出错图像。

import piexif
import os
from PIL import Image

# 图像存放绝对地址
original_dataset_dir='/home/lyuncxw/AI/bird/bird1'

# 重定义图像大小,元组
target_size = [300,300]
width_height_tuple = (target_size[1], target_size[0])

# 重采样滤波器参数
'''
        fill_mode: One of {"constant", "nearest", "reflect" or "wrap"}.
            Default is 'nearest'.
            Points outside the boundaries of the input are filled
            according to the given mode:
            - 'constant': kkkkkkkk|abcd|kkkkkkkk (cval=k)
            - 'nearest':  aaaaaaaa|abcd|dddddddd
            - 'reflect':  abcddcba|abcd|dcbaabcd
            - 'wrap':  abcdabcd|abcd|abcdabcd
'''

# interpolation='nearest'  #即 -> pil_image.NEAREST
# resample = _PIL_INTERPOLATION_METHODS[interpolation]

# 利用format()函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字
# 符代替'%'

fnames = ['bird1.{}.jpg'.format(i) for i in range(1000)]

# 循环抛出异常
for fname in fnames:
    try:
        src = os.path.join(original_dataset_dir, fname)
        piexif.remove(src)     # 去除图片exif
        img = Image.open(src)    # 打开图片
        img = img.resize(width_height_tuple, Image.NEAREST)
        # img = img.resize(width_height_tuple, pil_image.NEAREST)
    except IOError:
        print(src)
  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值