gpt4 book ai didi

c - yuv420p 到 rgb 图像转换

转载 作者:太空宇宙 更新时间:2023-11-04 04:01:21 25 4
gpt4 key购买 nike

第一部分是打开文件并将其加载到 yuv1 缓冲区。下一阶段是正确读取 YUV420p 数据我使用来自 wiki 的这个公式

  size.total = size.width * size.height;
y = yuv[position.y * size.width + position.x];
u = yuv[(position.y / 2) * (size.width / 2) + (position.x / 2) + size.total];
v = yuv[(position.y / 2) * (size.width / 2) + (position.x / 2) + size.total + (size.total / 4)];

下一步是从 y u v 中获取值并使用下面的公式转换为 rgb

B = 1.164(Y - 16) + 2.018(U - 128)

G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)

R = 1.164(Y - 16) + 1.596(V - 128)

获得 RGB 后,我们将它们加载回正确的缓冲区并关闭文件。

但我收到此错误 error C2064: term does not evaluate to a function taking 302 arguments在三个公式行中。

谁能帮帮我

错误代码

        r1 = 1.164(y1 - 16) + 1.596(v1 - 128) +     0;
g1 = 1.164(y1 - 16) - 0.813(v1 - 128) - 0.391(u1 - 128);
b1 = 1.164(y1 - 16)+ 0 + 2.018(u1 - 128);

最佳答案

您是否只是将数学公式粘贴到您的 C 代码中?那是行不通的。

您需要修正变量的大写/小写形式。你需要一个明确的乘号:

b = 1.164 * (y - 16) + 2.018 * (u - 128);
g = 1.164 * (y - 16) - 0.813 * (v - 128) - 0.391 * (u - 128);
r = 1.164 * (y - 16) + 1.596 * (v - 128);

并且根据 b、g 和 r 变量的类型,您需要将浮点结果转换或舍入为整数值。

关于c - yuv420p 到 rgb 图像转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11306802/

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