Total Pageviews

Saturday, 14 May 2016

保护隐私-如何去除图片的 Exif 信息

Exif 是一种图像文件格式,它的数据存储与 JPEG 格式是完全相同的。 实际上 Exif 格式就是在 JPEG 格式头部插入了数码照片的信息, 包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及GPS全球定位系统数据、 缩略图等。
——百度百科
可见一张照片所包含的信息是非常丰富的,比如利用其中的 GPS 信息,可知道你拍照时的精确位置
所以在网络上分享的时候,如果不想隐私被暴露,需要删除照片的 Exif 信息

利用 Python 来删除照片的 Exif 信息

需要用到处理 Exif 信息的库 Piexif: https://github.com/hMatoba/Piexif
还需要用到图形处理库 Pillow: https://github.com/python-pillow/Pillow, 来判断图片是否为 JPEG 格式
其实 Python 有一个内置模块 imghdr 可用来判断图片类型,但是在我使用过程中,我发现有时候会不准确,所以改用 Pillow 来做判断.
代码见:https://github.com/mwum/remove-image-exif

使用

  1. 安装依赖的库
    pip install piexif
    pip install Pillow
  2. 添加可执行权限
    chmod +x ./remove-exif.py
  3. 使用
    ./remove-exif.py name.jpg
    ./remove-exif.py *.jpg