您可以使用code
CV_YCrCb2RGB
对于CV_YCrCb2RGB
> RGB)和CV_RGBYCrCb
对于RGB-> YUV),在cVtColor中使用CV_YCrCb2RGB
在RGBC中转换RGB <-> YUV。
void cvCvtColor(const CvArr* src, CvArr* dst, int code)
将图像从一种颜色空间转换为另一种颜色空间。
0
0
对于平面格式,OpenCV不是正确的工具。相反,您最好使用ffmpeg。例如
static void rgbToYuv(byte* src, byte* dst, int width,int height)
{
byte* src_planes[3] = {src,src + width*height, src+ (width*height*3/2)};
int src_stride[3] = {width, width / 2, width / 2};
byte* dest_planes[3] = {dst,NULL,NULL};
int dest_stride[3] = {width*4,0,0};
struct SwsContext *img_convert_ctx = sws_getContext(
width,height,
PIX_FMT_YUV420P,width,height,PIX_FMT_RGB32,SWS_POINT,NULL,NULL,NULL);
sws_scale(img_convert_ctx, src_planes,src_stride,0,height,dest_planes,dest_stride);
sws_freeContext(img_convert_ctx);
}
将YUV420图像转换为RGB32
0
公式说:
例如,如果U变量变为负数怎么办?
假定R和G(一个)且B = 0的最大值。因此,我对在OpenCV中实现此对流函数感兴趣,那么,如何处理负值?使用浮动图片?无论如何,请解释一下,可能是我听不懂。