matlab如何rgb颜色代码Rgb2NV12
使用Matlab,IPP,Plain
C和SSE优化代码将RGB转换为NV12色彩空间。
NV12格式定义:
NV12格式是YUV
4:2:0格式,其在内存中的顺序是第一个Y平面,然后是在交错的UV平面中压缩的色度样本。
例子:
YYYYYY
YYYYYY
紫外线
RGB颜色格式,指的是像素顺序RGB(每像素字节,低字节为红色):RGBRGBRGBRGBRGB
RGBRGBRGBRGBRGB
更好的描述可以在这里找到:
我进行了一些Web研究,发现关于NV12,YUV被定义为YCbCr颜色空间。
当前至少有2种可能的YCbCr格式适用于NV12:
BT.601-适用SDTV:
BT.709-适用于HDTV:
我发现存在用于将RGB转换为NV12的IPP功能(适用于BT.601):
ippiRGBToYCbCr420_8u_C3P2R
尽管可以使用IPP,但我决定使用SSE内在函数来实现优化的代码。
IPP功能仅限于将RGB转换为BT.601标准。
我的SSE优化代码的优点在于,可以轻松对其进行修改以支持:
BGR到NV12的转换。
支持B
2021-12-03 10:52:45
477KB
系统开源
1