Rotation d'une image 3 channels
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 :
Code:
Mat in(image->ry, image->rx, type, image->data);
Où image->data est rangé de la sorte RRRRGGGGBBBB.
A la fin je récupère la sortie de la rotation, de cette façon
Code:
memcpy(image->data, out.data, ndata * number_of_channels * sizeof(unsigned short));
Est-ce que mon erreur viendrait de là ? Parce que OpenCV travaille en RGBRGB (voir meme BGRBGR).
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