使用imagemagick设置图像方向exif数据

时间:2016-11-15 09:39:14

标签: command-line imagemagick mogrify

我有一组带有损坏的exif方向数据的图像。我想使用imagemagick更改这些图像的方向。我找到了以下命令[bleg_duration] exten => _X.,1,Answer() same => n,Wait(10) same => n,Dial(dahdi/G1/${B_NUM},30,gS(60)) same => n,Noop(${CDR(billsec)}) same => n,Noop(${DIALEDTIME}) ;Time for the call (seconds) same => n,Noop(${ANSWEREDTIME}) ;Time from dial to answer (seconds) same => n,Hangup() 但是当我使用mogrify -set "%[EXIF:Orientation]" BottomRight image.jpg检查图像时,它似乎不起作用,方向数据是未定义的。

2 个答案:

答案 0 :(得分:1)

不确定是否/如何使用 ImageMagick 执行此操作,但您可能希望使用 exiftool ,如下所示:

# Set orientation with exiftool
exiftool -Orientation=3 -n input.jpg
1 image files updated

# Check with **ImageMagick** 
identify -verbose input.jpg | grep rient
Orientation: BottomRight
exif:Orientation: 3

这是一个测试所有8个值的小循环:

for x in {1..8}; do 
   exiftool -Orientation=$x -n input.jpg > /dev/null
   identify -verbose input.jpg | grep Orientation
done

  Orientation: TopLeft
    exif:Orientation: 1
  Orientation: TopRight
    exif:Orientation: 2
  Orientation: BottomRight
    exif:Orientation: 3
  Orientation: BottomLeft
    exif:Orientation: 4
  Orientation: LeftTop
    exif:Orientation: 5
  Orientation: RightTop
    exif:Orientation: 6
  Orientation: RightBottom
    exif:Orientation: 7
  Orientation: LeftBottom
    exif:Orientation: 8

答案 1 :(得分:1)

使用imagemagick,您可以通过以下方式完成。

mogrify -orient <orientation> *.jpg

有效的方向是

bottom-left    
right-top
bottom-right   
top-left
left-bottom    
top-right
left-top       
undefined
right-bottom 

更多信息here

您可以使用身份验证来验证您的更改

identify -verbose input.jpg | grep orientation