在 C++ 中从 AVFrame (FFMPEG) 中提取 RGB 值

2023-12-19

我目前正在尝试使用 FFMPEG 读取视频帧。格式为PIX_FMT_RGB24;对于每个帧,RGB 值都在frame->data[0] 中组合在一起(其中帧的类型为 AVFrame)。

如何提取每帧的单独 R、G 和 B 值?这是为了处理视频。我认为它的工作方式与从位图中提取 RGB 值的方式相同。谢谢!


我猜:

int p=x*3+y*frame->linesize[0];
r=frame->data[0][p];
g=frame->data[0][p+1];
b=frame->data[0][p+2];

我可能把 r、g 和 b 倒过来了。而且还有很大的加速空间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中从 AVFrame (FFMPEG) 中提取 RGB 值 的相关文章

  • C# 从带引号的字符串中删除分隔符

    我正在编写一个程序 必须从文本文件中带引号的字符串中删除分隔符 例如 Hello my name is world 必须 Hello my name is world 起初这听起来很简单 我认为是这样 但是您需要检测引号何时开始 何时结束
  • 无捕获 lambda 是结构类型吗?

    P1907R1 http www open std org jtc1 sc22 wg21 docs papers 2019 p1907r1 html 接受 C 20 引入结构类型 它们是非类型模板参数的有效类型 GCC 和 Clang 都接
  • 编译错误:尝试在函数调用中指定参数类型时出现“预期在 ' ' 之前出现主表达式”

    当我编译我的程序时 我收到以下错误消息 stringPerm cpp In function int main stringPerm cpp 12 error expected primary expression before word
  • 未定义的参考错误 - rand

    我正在创建一个命令行 C 测试应用程序 可执行 以便在我的 root Android 设备上运行 该可执行文件使用多个预构建的 C 库 其中之一使用 rand 在链接状态期间我收到错误 rand 的未定义引用 为了检查路径是否设置正确 我尝
  • C# 中具有字符串键类型的不区分大小写字典

    如果我有一个Dictionary
  • Android 中的 FFMpeg jni?

    我已经构建了 Bambuser http bambuser com opensource 提供的 FFMPEG 可执行文件和库 所以我设法构建了 Android 可执行文件和库 如何在 Eclipse 项目中链接这些库并从 Java 调用
  • send() 使我的程序崩溃

    我正在运行服务器和客户端 我正在我的计算机上测试我的程序 这是服务器中向客户端发送数据的函数 int sendToClient int fd string msg cout lt lt sending to client lt lt fd
  • 将二维整数作为 Readonly/const 存储在单独的类中,同时保持非公开

    这是我在使用这个地方作为我的 去处 以获取关于什么有效 无效 为什么等的一般意见之后的第一个问题 那么让我们试试这个 由于我的经验有限 我一直在尝试寻找更好的方法来创建固定数据字段 我可以在整个程序中引用这些字段 例如我反复显示的最终用户可
  • GridView必须添加到表单标签中才能渲染

    TextWriter tr new StringWriter HtmlTextWriter writer new HtmlTextWriter tr HtmlForm form new HtmlForm form Controls Add
  • 数据绑定问题,请解释

    public partial class Form1 Form MyClass myClass new MyClass one two public Form1 InitializeComponent textBox1 DataBindin
  • std::regex 的行为不一致

    我有以下问题 std regex如果我传递结果 行为会有所不同boost filesystem path string vs 将结果存储在中间字符串变量中 第一个将返回一个被截断的匹配 并且稍后不被接受std stoull 抛出 inval
  • 如何在调试时轻松查看事件订阅数量?

    在调试时 我可以查看一下textBox1 TextChanged查看事件订阅数量 如果是 那么我该如何钻取它 我需要知道在给定时间有多少订阅进行调试 因为看起来一个事件被多次触发 但我怀疑这个错误确实是因为textBox1 TextChan
  • 计算距离早上 8 点还有多少小时

    我知道如何计算两个日期之间的差异 但如何计算给定日期与下一个上午 8 点之间的时间 var now DateTime Now var tomorrow8am now AddDays 1 Date AddHours 8 double tota
  • 从多页 tiff 中提取帧 - C#

    有一个多页 tiff 我想从此 Tiff 文件中提取第 n 页 帧 n 并保存它 如果我的多页 tiff 有 3 帧 在我提取一页 帧后 我想留下 1 张图像有 2 页 帧 并且 1 张图像只有 1 页 帧 下面是一些代码 用于将多帧 ti
  • 解析 SWIG 接口文件的结构属性

    这是我不久前问过的问题的延续 为通过参数返回的函数创建类型映射 https stackoverflow com questions 12793973 create a typemap for a function that returns
  • 将base64字符串转换为图像c#时出错

    我想在我的网页上显示图像 并单击应该下载的链接按钮 存储的图像文件以二进制格式存储在db中 将 base64 字符串转换为图像时显示错误 详细信息如下 帮助我找到合适的解决方案 谢谢 Error Code protected void Pa
  • 最有用的用户制作的 C 宏(在 GCC 中,还有 C99)? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 实体框架中对象属性中的 NULL 值

    Tables Article Author Comment 1篇文章和1位作者可以有 评论 数据库中有 1 篇文章 1 位作者和 1 条评论 问题是 该代码 myBD my bd new myBD var articles by bd Ar
  • Fluent Validation 将 CustomAsync 更改为 MustAsync

    有人可以帮我解决这个问题吗 我正在努力改变CustomAsync 到 MustAsync 但我无法让事情发挥作用 下面是我的自定义方法 RuleFor o gt o MustAsync o gt return CheckIdNumberAl
  • 在实体框架中比较日期的最佳方法

    我在实体框架的 where 子句中使用日期并收到以下错误 这是由于以下代码 var entity dbContext MyTable Where w gt w PId 3 w CreatedOn Date mydate Date First

随机推荐

  • 将 NOT NULL 约束添加到列

    我正在使用 PHPMyAdmin 并尝试将 NOT NULL 约束添加到表的列中 PHPMyAdmin 接受我的以下查询 ALTER TABLE wall MODIFY token message varchar 40 NOT NULL 但
  • 从命令行调试 iPhone 应用程序

    我可以从 XCode 执行此操作 但我希望能够从命令行启动 iPhone 应用程序 在设备上 是否可以 为什么 因为我想捕获一些半自动测试的输出 我猜我需要使用 NSLog 输出的调试版本 但我也有兴趣了解将 NSLog stdio 数据返
  • Facebook 停止显示文章:作者

    看起来 Facebook 在过去几天改变了一些东西 我注意到文章 作者信息不再显示 文章 发布者仍然有效 https developers facebook com docs reference opengraph object type
  • 具有非可选属性的类符合具有可选属性的协议

    如果我有一个具有可选属性的协议 以及一个需要符合协议的类 该协议已经具有相同的属性 但作为非可选属性 我如何使该类符合协议 protocol MyProtocol var a String get set class MyClass var
  • 如何让 Meteor.Call 返回模板值?

    我试过了了解这篇关于这个概念的文章 https stackoverflow com questions 10379445 how to get the result of a meteor call function in a templa
  • Nifi 中并行和顺序处理的等待通知

    我有一个要求 我需要并行执行 4 个作业 并且当在所有 4 个处理器中并行完成相同的项目作业时 然后触发下一个处理器 为此我使用了等待通知 流程就像 4个并行作业 gt notify 释放信号标识符 itemid 信号计数器名称 proce
  • Haskell 程序中比其他语言更容易出现哪些错误?

    备受推崇的功能之一是 如果一个程序可以编译 那么它很可能大部分都是正确的 比用不太复杂或严格的类型系统的语言编写的程序更是如此 也就是说 Haskell 是一个将运行时错误转换为编译器错误的系统 我想知道 用 Haskell 编程是否会出现
  • Flutter - 有状态小部件在切换选项卡时不会保存计数器状态

    我正在学习 flutter 正在使用 tabBars 但在保存状态时遇到问题 我在下面列出了我的问题的一个小工作示例 基本上 有一个按钮和一个状态计数器 当我单击按钮时 我看到文本字段正确更新 但是 当我切换到不同的选项卡并返回时 文本字段
  • 修改HAProxy Lua库路径

    我正在尝试从 HAProxy 加载 Lua 脚本 在 Lua 脚本中 以下行导致错误 local http require socket http 最初我收集自journalctl xe输出表明该库未安装 我安装它使用luarocks in
  • 如何使用tensorflow进行k折交叉验证?

    我正在关注张量流的 IRIS 示例 https github com tensorflow tensorflow tree master tensorflow examples tutorials monitors 我现在的情况是 我将所有
  • 用于开始 Java 源文件的有效关键字

    到目前为止 我知道这些关键字对于开始 java 源文件是有效的 class public import package interface and final 评论补充 abstract strictfp enum 还有吗 感谢所有超级快速
  • 如何在 R 中编写最大似然例程?

    我想对我创建的数据样本运行一些最大似然代码 这是我到目前为止所拥有的 library maxLik data lt replicate 20 rnorm 100 logLikFun lt function param mu lt param
  • 同步数据库 Mysql SQLite [重复]

    这个问题在这里已经有答案了 可能的重复 如何将Android手机上的SQLite数据库与服务器上的MySQL数据库同步 https stackoverflow com questions 6511402 how to sync sqlite
  • Flutter 使用分享意图在 YouTube 上分享视频

    When press on share button It opens the sharing dialog box as shown below When press on youtube it share video on youtub
  • 使用 PHP 脚本发送和接收短信?

    Can a PHP脚本 可以与 MySQL 数据库一起使用 发送和 或接收短信使用某种服务器端解决方案 任何特殊的服务器端应用 或特殊的hardware必需的 以及兼容性 视窗 Linux 像这样的公司还有很多Esendex http ww
  • python 相当于 PHP $_SERVER 是什么?

    我找不到与 PHP SERVER 等效的 python 有没有 或者说 有哪些方法可以带来同等的结果 提前致谢 Using mod wsgi 我会推荐它而不是 mod python 说来话长 但相信我 你的应用程序通过了环境变量例如 def
  • 如何设置 MySQL 进程或线程的最大数量?

    ps axuw grep mysql仅指示 MySQL 进程 但如果我运行 htop 我可以看到 10 行 每一行都有一个单独的 PID 所以我想知道它们是否是由于某种原因我无法使用 ps 看到的线程或进程 在我的开发机器上尝试将它们限制为
  • 访问 DOM Webkit Objective C

    熟悉 webkit 的人能否解释一下或为我指出正确的方向 为什么以下代码不起作用 我想做的是加载一个页面 让 webkit 解析它并简单地打印出标题 这是我所得到的 include
  • ViewPager 中 Fragment 上的 Fragment 不会在方向更改时重新加载

    我正在开发一个使用 ActionBarSherlock 和 ViewPagerIndicator 的 Android 应用程序 主要活动是 SherlockFragmentActivity 用户通过操作栏上的选项卡在片段之间导航 所有选项卡
  • 在 C++ 中从 AVFrame (FFMPEG) 中提取 RGB 值

    我目前正在尝试使用 FFMPEG 读取视频帧 格式为PIX FMT RGB24 对于每个帧 RGB 值都在frame gt data 0 中组合在一起 其中帧的类型为 AVFrame 如何提取每帧的单独 R G 和 B 值 这是为了处理视频