Bonjour à tous,
J'ai un tableau où chaque élément correspond à l'intensité d'un pixel. Je souhaiterai afficher dans une fenêtre l'image associée mais je ne sais pas comment faire ceci. Pouvez vous m'aidez s'il vous plaît ?
Bonjour à tous,
J'ai un tableau où chaque élément correspond à l'intensité d'un pixel. Je souhaiterai afficher dans une fenêtre l'image associée mais je ne sais pas comment faire ceci. Pouvez vous m'aidez s'il vous plaît ?
Bonjour,
Si tu travaille avec la version d'OpenCV 2.4 et que tes tableaux sont de type Mat alors il suffit de faire :
ici "image" etant ton tableau de pixel de type Mat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part imshow( "nom de fenetre", image);
bonne continuation.
J'ai pas exactement tout saisi ce que tu veux faire avec ton image et ce que tu fais avant de vouloir l'afficher.
De plus, il faut que tu saches avec quelle version d'OpenCV tu travailles pour savoir quelle syntaxe utiliser.
Si tu lis l'anglais : http://opencv.itseez.com/doc/tutoria...lay_image.html site de référence de la dernière version. N'hésite pas à fouiller tu triuveras un tas d'explications et de tutoriels.
Bonne chance!
Salut,
Depuis quelques versions maintenant, l'objet "à tout faire" dans OpenCV (calcul, manipulation, stockage, affichage) c'est cv::Mat. Ce n'est ni plus ni moins que la représentation d'une matrice.
Comme tu as déjà les valeurs des pixels dans un tableau (je suppose que les valeurs sont comprises entre 0 et 1 si ce sont des doubles, sinon il faudra qu'elles le soient), le constructeur de cv::Mat qui va t'intéresser est:
qui te permettra de lui donner en param ton tableau de valeurs. Pour rows et cols, ça se passe de commentaire, et pour type, c'est un define de la forme suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mat::Mat(int rows, int cols, int type, void* data, size_t step=AUTO_STEP)
source (tu peux d'ailleurs jeter un coup d'oeil au reste de cette page)CV_<bit_depth>(S|U|F)C<number_of_channels>
S = Signed integer
U = Unsigned integer
F = Float
E.g.:
CV_8UC1 means an 8-bit unsigned single-channel matrix,
CV_32FC2 means a 32-bit float matrix with two channels.
Je suppose de nouveau que ton image est en niveau de gris, donc une valeur par pixel, et donc 1 seul canal, et un double étant normalement sur 64 bits (je ne connais pas la plateforme sur laquelle tu dev), je te laisse deviner le define à utiliser!
Attention, si par contre ton tableau contient 3 valeurs par pixel pour coder le RGB, OpenCV code par contre en BGR! Il faudra dans ce cas que tu swap d'abord la 1e et 3e valeur de chaque pixel dans ton tableau.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager