【AVD】 FFmpeg 获取 JPG 图片旋转信息等 Exif 信息

本文介绍如何使用FFmpeg API中的av_dict_get方法从JPG图片的EXIF信息中读取旋转角度,确保图片正确显示。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

前段时间写了篇 杀鸡用牛刀,FFmpeg API 加载存储图片,比 ImageMagic 和 stb_image 快多了,后来发现有个问题,有些 JPG 图片是带有旋转信息的,如果只解码,不获取它的旋转信息,将导致图片的方向错误。

av_dict_get

那如何才能用 FFmpeg 来获取 JPG 的旋转信息呢?查过很多资料,最后终于找到一种方法。由于再次查找时又要翻阅多篇文章,因此记录在此。答案就是使用 av_dict_get 这个方法。

首先,要完成使用 FFmpeg 对 JPG 图片的解码过程,得到解码后的帧图像 AVFrame,然后,在 AVFrame->metadata 中读取 Orientation 来获取旋转信息。其中 Orientation 的定义如下:

  /*
    1 = Horizontal (normal)
    2 = Mirror horizontal
    3 = Rotate 180
    4 = Mirror vertical
    5 = Mirror horizontal and rotate 270 CW
    6 = Rotate 90 CW
    7 = Mirror horizontal and rotate 90 CW
    8 = Rotate 270 CW
  */

整个功能的具体代码如下:

  AVDictionaryEntry 

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深海Enoch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值