在嵌入式系统,或者是用作库的接口时,yuv图像一般都是char*的格式,而在进行图像处理的时候我们一般都是使用OpenCV的Mat格式。本文记录的是将YUV420SP(planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (first byte U and the following byte V)从char*转为Mat格式以及从Mat格式转为char*。
-
char*转为Mat格式
(1)灰度图像的转换
大多数时候,我们图像处理为了减小计算量,使用灰度图像。以下示例,假设图像宽高分别为iWidth,iHeight,图像数据为chr* yuvData,转换如下:
cv::grayImg(iHeight,iWidth,CV_8UC1,yuvData);
(2)彩色图像的转换