OpenCV YUV 与 RGB的互转(草稿)
生活随笔
收集整理的這篇文章主要介紹了
OpenCV YUV 与 RGB的互转(草稿)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
YUV 轉(zhuǎn) RGB
cv::Mat yuvImg;
/*
//下面兩行是我自己代碼里用來(lái)構(gòu)成YUV圖像的數(shù)據(jù),可以忽略
yuvImg.create(pInput->height*3/2, pInput->width, CV_8UC1);
memcpy(yuvImg.data, pInput->yuvPixels, pInput->width*pInput->height*3/2*sizeof(unsigned char)); */
cv::Mat rgbImg; cv::cvtColor(yuvImg, rgbImg, CV_YUV2RGB_I420); //函數(shù)第三個(gè)參數(shù)需要視YUV圖像格式而定
/*顯示轉(zhuǎn)化后的rgb圖片*/
cv::namedWindow("new_img", CV_WINDOW_NORMAL); //圖像自適應(yīng)大小,否者會(huì)因?yàn)閳D像太大,看不全
cv::imshow("new_img", rgbImg);
cv::waitKey(0);
cv::cvDestroyWindow("new_img");
RGB 轉(zhuǎn) YUV
//RBG轉(zhuǎn)YUV
Mat yuvImg;
cvtColor(rgbImg, yuvImg, CV_RGB2YUV_I420);?//函數(shù)第三個(gè)參數(shù)需要視YUV圖像格式而定
//這里注意,rgbImg的寬和高必須是2的倍數(shù),否者會(huì)crash
?
一、YUV420格式
先Y,后V,中間是U。其中的Y是w * h,U和V是w/2 * (h/2)
如果w = 4,h = 2,則:
yyyy
yyyy
uu
vv
內(nèi)存則是:yyyyyyyyuuvv
需要占用的內(nèi)存:w * h * 3 / 2
采樣規(guī)律是:每個(gè)像素點(diǎn)都采樣Y,寄數(shù)行采樣1/2個(gè)U,不采樣V,偶數(shù)行采樣1/2個(gè)V,不采樣U
轉(zhuǎn)載于:https://www.cnblogs.com/snailgardening/p/opencv_yuv_rgb.html
總結(jié)
以上是生活随笔為你收集整理的OpenCV YUV 与 RGB的互转(草稿)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 苏卡达龟多少钱一只
- 下一篇: npm start 作用