YUV420 in RGB Farbkonvertierungsfehler

ich binconverting ein Bild inYUV420 formatieren aufRGB Bild inopencv aber ich bekomme eineOrange Farbbild nachherconversion. Ich habe folgenden Code verwendet, um das zu tun. Gibt es ein Problem in meinem Code?

 int step = origImage->widthStep;
 uchar *data = (uchar *)origImage->imageData; 
 int size = origImage->width * origImage->height;
 IplImage* img1 = cvCreateImage(cvGetSize(origImage), IPL_DEPTH_8U, 3);

for (int i = 0; i<origImage->height; i++)
{
  for (int j=0; j<origImage->width; j++)
  {
    float Y = data[i*step + j];
    float U = data[ (int)(size + (i/2)*(step/2)  + j/2) ];
    float V = data[ (int)(size*1.25 + (i/2)*(step/2) + j/2)];

    float R = Y + (int)(1.772f*V); 
    float G = Y - (int)(0.344f*V + 0.714f*U);
    float B = Y + (int)(1.402f*U);

    if (R < 0){ R = 0; } if (G < 0){ G = 0; } if (B < 0){ B = 0; }
    if (R > 255 ){ R = 255; } if (G > 255) { G = 255; } if (B > 255) { B = 255; }

    cvSet2D(img1, i, j,cvScalar(B,G,R));
  }
}

origImage -> YUV-Bild,
img1 -> RGB Bild,

http://upload.wikimedia.org/wikipedia/en/0/0d/Yuv420.svg

Gibt es eine opencv Funktion die apixel im YUV420-Format auf entsprechendes RGB-Pixel? (nicht ganzes Bild)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage