基于opencv RGB与YUV420的转换

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即可。
 
  

你可能感兴趣的:(图像处理)