关于YUV的C++编程,应该对Y U V分别如何赋值才能出现黑色?

yuyuyeye2010 yuyuyeye2010 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一开始有这样的定义:
unsigned char y[WIDTH*HEIGHT];
unsigned char cb[WIDTH*HEIGHT/4];
unsigned char cr[WIDTH*HEIGHT/4];
之后有这样的运用:
fread(y, Width*Height, 1, fp);
fread(cb, Width*Height/4, 1, fp);
fread(cr, Width*Height/4, 1, fp);
我想在最后结果显示出黑色,是这样赋值的:
unsigned char blacky[WIDTH*HEIGHT]={0x00};
unsigned char blackcb[WIDTH*HEIGHT/4]={0x80};
unsigned char blackcr[WIDTH*HEIGHT/4]={0x80};
for(int b=0;b<WIDTH*HEIGHT;b++) y[b]=blacky[b];
for(int c=0;c<WIDTH*HEIGHT/4;c++)
{
cb[c]=blackcb[c];
cr[c]=blackcr[c];
}
为什么无论我怎么改blacky它们三个数组的值,最后屏幕只会出现绿色?我应该怎么赋值??
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
yuyuyeye2010
C++ 语言 65,214 成员 250,514 内容