请教修改 YUV 视频的问题
大家好,请教一下YUV的问题
现在我获得一个YUV视频帧,存储在某个结构体中,已知道Y U V三个分量的内存地址和视频帧的高度宽度。
我可以直接修改 Y U V 分量的值
YUV的格式是4:2:0
我查过资料是说:每个像素对应一个Y分量,四个像素对应一个 U分量和一个V分量。
参考:
http://lh6.google.com/image/Hoo.Zhang/Rh8xx2qv_JI/AAAAAAAAAIU/F2sWNv33dUw/Yuv420.jpg
现在我想改变某一个像素的颜色,但不知道如何修改?
[解决办法]
还是改RGB的比较容易,呵呵。
YUV应该是亮度什么的分量,
我有个笨方法,就是用RGB转YUV的公式,先算出颜色变化需要YUV怎么变,然后再去改。
不过,这样还不如把YUV先转成RGB24,改变颜色后再转回来。如果项目紧,可以先这么做,有空再想办法。就是考试一样,一道题不会,可以先做下一个,总不能干等
[解决办法]
Y代表亮度,UV代表色度。
Y;U;V是4;2;0,说明每个象素有一个自己的亮度值,和其它的3个象素公用色度值。
如果你想改变一个象素的颜色(不知道你这里的颜色是什么意思,我理解为色度),那是不可能的,如果想改变象素值,就直接改变Y就可以了。当然可以改变四个象素的颜色,但是要一起改变。
LS的方法,其实也是改变了四个点象素值。