gpt4 book ai didi

c++ - 使用 ffplay 或 ffmpeg 如何在帧中获取像素的 rgb 值

转载 作者:行者123 更新时间:2023-12-04 23:04:02 29 4
gpt4 key购买 nike

我想在使用 ffmpeg 解码的每一帧中提取像素的 rgb 值。我查看了ffplay源代码

get_video_frame
video_refresh
queue_picture

我尝试了上述三种方法来 Hook 框架,但我不明白如何获取像素的 rgb 值。任何人都可以指点一下吗

最佳答案

http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=15&t=805

这就是来源,这是我使用的转换来源,它按预期工作。希望这可以帮助某人
ColorRGB GetRGBPixel(const AVFrame& frame, int x, int y)
{
// Y component
const unsigned char y = frame.data[0][frame.linesize[0]*y + x];

// U, V components
x /= 2;
y /= 2;
const unsigned char u = frame.data[1][frame.linesize[1]*y + x];
const unsigned char v = frame.data[2][frame.linesize[2]*y + x];

// RGB conversion
const unsigned char r = y + 1.402*(v-128);
const unsigned char g = y - 0.344*(u-128) - 0.714*(v-128);
const unsigned char b = y + 1.772*(u-128);

return ColorRGB(r, g, b);
}

关于c++ - 使用 ffplay 或 ffmpeg 如何在帧中获取像素的 rgb 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23761786/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com