Bonjour,
je viens vers vous avec une petite question.
Je fais une rotation d'une image. Celle-ci marche très bien avec mes images 1-Channel et plus rien ne va avec mes images 3-Channel.
J'ai l'impression que cela vient du fait que je déclare ceci :
Où image->data est rangé de la sorte RRRRGGGGBBBB.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mat in(image->ry, image->rx, type, image->data);
A la fin je récupère la sortie de la rotation, de cette façon
Est-ce que mon erreur viendrait de là ? Parce que OpenCV travaille en RGBRGB (voir meme BGRBGR).
Code : Sélectionner tout - Visualiser dans une fenêtre à part memcpy(image->data, out.data, ndata * number_of_channels * sizeof(unsigned short));
Ce qui est "marrant" c'est que si je fais une rotation de 180degrés, je retrouve mes couches RGB inversées en BGR. Pour d'autres angles c'est juste une bouilli de pixels.
Ce qui est bizarre c'est que j'utilisais la même méthode pour redimensionner une image (avec resize) et je n'avais pas de soucis, ni avec un canal ni avec 3. Du coup pourquoi ca marcherait dans un cas et pas dans l'autre ?
Cordialement
Partager