YUV隨筆

YUV:

    Y表示明亮度(Luminance 或者luma),U和V表示的是色度(Chrominance),作用是用來描述影像色彩和飽和度,用於指定像素的顏色(用Cr和Cb來表示,Cr表示RGB輸入信號紅色部分和RGB亮度值之間的差異,Cb表示RGB輸入信號藍色部分和RGB亮度值之間的差異)。

    YUV的優點在於傳輸時佔用極少的帶寬,(比如RGB在傳輸時需要三個獨立的視頻同時傳輸)。

    以常見的YUV420爲例:

         YUV444是未經壓縮的圖片,每個pixel佔用三個字節。YUV420並不意味着只有Y,Cr,而沒有Cb,它指的是對於每行掃描線來說,只有一種色度分量以2:1的抽樣率存儲,相鄰的掃描行存儲不同的色度分量。也就是說,如果本行是4:2:0的話,下一行就是4:0:2。因此YUV420當導入YUV420時,記得UV要除以2.

        memcpy(g_runTimePara->g_pAlgParam->src_Y[0], pFrame->pY, pFrame->width * pFrame->height);
        memcpy(g_runTimePara->g_pAlgParam->src_UV[0], pFrame->pUV, pFrame->width * pFrame->height >> 1);

此外:如何計算YUV圖像的大小?以96*96的3channel的YUV圖像爲例:

96*96的figure, 3channel:

96*96*3=27648.  約等於27k,  因此從文件的大小即可以看出YUV圖像的channel是多少。



如何理解channel?

  簡單的說就是幾個向量的疊加。比如RGB,分R, G, B三個channel。 YUV分Y,U,V三個channel。此外對於深度學習的網絡來說,卷積核的channel數需要和源圖片的卷積核一致。如圖:(隨手借圖,在此感謝博主分享)

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章