GNU/Linux 下EXIF相关小工具

来自Jack's Lab
2016年3月27日 (日) 23:46Comcat (讨论 | 贡献)的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到: 导航, 搜索

目录

1 exiftags

显示 JPG 图像内 EXIF 信息的工具:

$ sudo apt-get install exiftags

# 显示EXIF中相机相关参数
$ exiftags -c 0.jpg 
Camera-Specific Properties:

Equipment Make: SONY
Camera Model: NEX-5R
Camera Software: Adobe Photoshop Lightroom 5.0 (Macintosh)
Maximum Lens Aperture: f/1.8
Focal Length (35mm Equiv): 75 mm

# 显示EXIF中所有参数
$ exiftags -a 0.jpg



2 ImageMagick

强大的命令行图像处理包,内含 convert/identify/display/animate 等强大工具

$ sudo apt-get install imagemagick

# 获取图像拍照时相机的旋转方向
$ identify -verbose orient-8.jpg | grep Exif:Orientation
  Exif:Orientation: 08

Orientation 的值有 1 - 8 个整数值:

Value | 0th Row | 0th Column
1        top       left side
2        top       right side
3       bottom     right side
4       bottom     left side
5      left side   top
6      right side  top
7      right side  bottom
8      left side   bottom

比如值为 8 时,表示图片第 0 行是当时相机屏幕的最左边;图片第 0 列是相机屏幕的底边。因此这个图需要顺时针转 90度

用 exiftags 的输出:

$ exiftags orient-8.jpg | grep Orientation
Image Orientation: Left-Hand, Bottom



3 jhead

JPEG Exif header manipulation tool

$ sudo apt-get install jhead

# 自动处理图像旋转
$ jhead -autorot  orient-8.jpg 



4 exiv2

支持 JPG/PNG/RW2/ARW/TIFF/GIF 等等图片属性修改的工具

$ sudo apt-get install exiv2

# 修改时间属性,减去30s
$ exiv2 -a -0:00:30 ad test.jpg



5 gpscorrelate

JPG 的 EXIF 里是有地理坐标经、纬度信息的

gpscorrelate 就是用来维护这个信息的,可读出,可写入(-g name.gpx 提供GPS记录的、GPX格式的轨迹文件)

$ sudo apt-get install gpscorrelate

# 显示 EXIF 中 GPS 信息
$ gpscorrelate -s 10074.jpg 
EXIF-GPS Photo matching program.
Daniel Foote, 2005.

10074.jpg: 2009:11:01 07:15:40, Lat 40.569658, Long 116.730972, Elevation 402.901400.

# 移除JPG中的GPS信息
$ gpscorrelate -r 10074.jpg
EXIF-GPS Photo matching program.
Daniel Foote, 2005.

10074.jpg: Removed GPS tags.

$ gpscorrelate -s 10074.jpg
EXIF-GPS Photo matching program.
Daniel Foote, 2005.

10074.jpg: 2009:11:01 07:15:40, No GPS Data.


# 用JPG的创建时间,去GPS记录的轨迹文件中找对应的坐标,找到后写入JPG的EXIF
# 因为GPS轨迹文件中记录的时间都是UTC(时区为0),相机记录的JPG时间一般是本地时区,比如中国是 +8,这个偏差用 '-z +8' 来调整,这个 8小时是加在 GPS时间上
# JPG 与 GPS 时间秒上的偏差,用 '--photooffset 5' 来调整,这个 5s 是加在 JPG 时间上
$ gpscorrelate -z +8 --photooffset 5 -g /path/to/gps-track.gpx 1024.jpg

找不到对应时间点的,则在前后两个点之间插值计算



















个人工具
名字空间

变换
操作
导航
工具箱