基於opencv RGB與YUV420的轉換

2021-06-29 10:27:25 字數 677 閱讀 4494

opencv的cvtcolor函式可以實現rgb與yuv420的轉換

rgb轉化為yuv420範例**片段:

int w = 2448;//寬

int h= 2080;//高

int buflen = w * h * 3 / 2;

unsigned char* pyuvbuf = new unsigned char[buflen];

cv::mat srcimg;

cv::mat yuvimg;

cv::mat convertimg;

srcimg = cv::imread("d:\\1.jpg");//讀入乙個2448*2080影象

imshow("src",srcimg);//顯示原影象

cvwaitkey(1000);

destroyallwindows();

cvtcolor(srcimg, yuvimg, cv_bgr2yuv_i420);

memcpy(pyuvbuf, yuvimg.data, buflen * sizeof(unsigned char));//pyuvbuf即為所獲取的yuv420資料

從yuv420轉換到rgb也是類似方法 其中cvtcolor的引數設為cv_yuv2bgr_i420即可。

YUV格式轉換為RGB(基於opencv)

opencv自帶cvcvtcolor,但是這種方法有bug,得到的會泛白。第二種方法是公式法。法一 opencv自帶cvcvtcolor void filewriteframes readme.close cvreleaseimage uuimg cvreleaseimage vvimg cvrel...

YUV格式轉換為RGB(基於opencv)

opencv自帶cvcvtcolor,但是這種方法有bug,得到的會泛白。第二種方法是公式法。法一 opencv自帶cvcvtcolor 說明 這種方法會出現 泛白 具體原因網上是說cvcvtcolor這個函式左右協議不同,不太懂。cpp view plain copy print void fil...

Android下基於SDL的YUV渲染

本文主要參考我之前整理的文章windows下使用sdl進行yuv渲染。相對於之前寫的點陣圖渲染部分 渲染主要是增加了yuv載入 texture更新部分。注意本部分的介紹內容是在android點陣圖渲染框架下增加的yuv渲染部分 具體參考android下基於sdl的點陣圖渲染 二 理論篇 主要執行流程...