Conversion d'espace de couleur YUV RVB à l'aide d'OpenCV

Je suis en train de convertir une image YUV RVB à l'aide d'OpenCV. Je suis un débutant complet à présent. J'ai créé une fonction qui prend une YUV image comme la source et la convertit en RVB. Il est comme ça :

void ConvertYUVtoRGBA(const unsigned char *src, unsigned char *dest, int width, int height)
{
    cv::Mat myuv(height + height/2, width, CV_8UC1, &src);
    cv::Mat mrgb(height, width, CV_8UC4, &dest);

    cv::cvtColor(myuv, mrgb, CV_YCrCb2RGB);
    return;
}

Si cela fonctionne? Ai-je besoin pour convertir le Tapis en char* nouveau? Je suis à une perte et toute aide sera grandement appréciée.

regarde dans stackoverflow.com/a/2906294/3436942
double possible de la Conversion YUV vers BGR ou RVB en OpenCV
J'ai déjà vu ces posts et j'ai été incapable d'utiliser la façon dont il a été précisé leur. Pouvez-vous, les problèmes avec mon code?
vous n'avez pas de préciser que le format YUV qui vous avez affaire. Regarder la suite pour voir comment de nombreux YUVs il y a: fourcc.org/yuv.php. Et voulez-vous vraiment RVB, vous avez défini un 4 canaux Mat et votre fonction est appelée ConvertYUVtoRGBA donc je suppose que tu voulais dire RGBA? Ou peut-être BGRA?
cela ne devrait pas être considéré comme un double de Converting YUV into BGR or RGB in OpenCV. Tout d'abord, je pense que les données ici est dans un format différent, d'autre part la accepté de répondre à cette question, l'omi, pas la meilleure façon de le faire de toute façon.

OriginalL'auteur d1xlord | 2014-09-04