美文网首页
如何在命令行获取iPhone照片的宽和高?

如何在命令行获取iPhone照片的宽和高?

作者: Paycation | 来源:发表于2020-03-23 22:54 被阅读0次

    苹果手机(试过7和8,其他的没试过)拍摄的照片,有个问题,不管这张图在 Mac 上显示是竖图还是横图,其宽高值是一样的。

    比如,有个图片叫 vertical.jpg 和 horizontal.jpg。使用 ffprobe 检测,会得到类似下图的结果:

    Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), \
    4032x3024 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
    

    判断为横图。而在 finder 中显示为竖图。
    然后我换了 MacOS 自带的 sips 检测:

    $ sips -g pixelWidth -g pixelHeight vertical.jpg
    pixelWidth: 4032
    pixelHeight: 3024
    $ sips -g pixelWidth -g pixelHeight horizontal.jpg
    pixelWidth: 4032
    pixelHeight: 3024
    

    输出竟然一模一样。
    终于,经过一番 bing,我发现了神器 exiftool,用它比对和后发现:

    $ exiftool vertical.jpg | grep Orientation 
    Orientation                     : Rotate 90 CW
    $  exiftool horizontal.jpg | grep Orientation 
    Orientation                     : Horizontal (normal)
    
    # 也可以写成: 
    
    $ exiftool -orientation vertical.jpg
    Orientation                     : Rotate 90 CW
    

    原来苹果区分是否横图用的不是宽高值,而是一个叫 Orientation 的属性,真是坑爹啊。

    因此,你需要把宽高值都拿出来,然后根据 Orientation 是否为 Horizontal 来判断“宽”是否是“宽”,“高”是否是“高”。

    记于 20200323

    相关文章

      网友评论

          本文标题:如何在命令行获取iPhone照片的宽和高?

          本文链接:https://www.haomeiwen.com/subject/igogyhtx.html