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
cela ne devrait pas être considéré comme un double de
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
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas suffisamment de détails à votre question de donner une réponse certaine, mais ci-dessous est ma meilleure supposition. Je vais supposer que vous voulez LED de sortie (pas de RVB, BGR ou BGRA) et que votre YUV est yuv420sp (car c'est ce qui ressort d'un appareil photo Android, et il est compatible avec votre Tapis de tailles)
Pas le Tapis mrgb est un wrapper autour de la destination et de la façon dont vous avez organisé, le RGBA données écrites directement dans le dest tampon.
Cela ne fonctionnera correctement que si le YUV source SD. Il peut regarder à droite avec une base inspection visuelle mais les couleurs ne sont pas correctes. Malheureusement, c'est parce que la dernière OpenCV source de droit maintenant (2.4.10) pour la conversion YUV prend uniquement en charge le 601 palette de PAL/NTSC/SECAM et 709 pas de HD ou 2020 de l'UHD.
Salut, un peu en retard mais, comment appelez-vous cette méthode? J'ai un tableau d'octets en tant que src, la largeur et la hauteur. Comment puis-je l'appeler? Je vous serais reconnaissant de toute aide. Thx
OriginalL'auteur Bull