Afficher une image depuis un pointeur
Bonjour à tous,
Je bosse sur un bout de code qui est censé afficher l'image d'une webcam IP et puis faire plus tard une détection de mouvement (mais on y est pas encore).
Le programme récupère une image JPG cycliquement grâce à la libcurl. Je pourrais effectivement écrire cette image sur le disque dur et la relire depuis OpenCV mais je ne peux pas faire ça pour raison de performance et de fiabilité (le système risque d'être embarqué sur une carte CF et ceci tuerai la CF très rapidement).
En sortie de mon appel libcurl, je récupère un pointeur vers une image JPG stockée en RAM. La fonction CvOpenImage ne peut que prendre un chemin vers un fichier en entrée et me pose donc problème.
Existe-t-il une fonction qui puisse charger une image sous OpenCV depuis un pointeur sur une image en RAM ? Ou existe il une astuce pour arriver à faire ça ?
Merci par avance pour vos réponses.
Afficher une image depuis un pointeur
Salut,
Techniquement oui!
1) Faire une creation d'image sous OpenCV de même caracteristique que l'image en mémoire ( longeur, largeur, nombre de couleur etc..)
2) Transferer le "databuffer" de image en mémoire vers celui d'Opencv en respectant le "codage" des couleurs, a savoir Bleu,vert,rouge,bleu,vert,rouge...etc
Ici j'ai un code qui montre l'acces aux image pixel par pixel.
Bon courage
Jpierre
http://www.developpez.net/forums/sho...d.php?t=366832
Ps : Désolé de ne pas mieux aider. Je suis plutot bon pour trouver des "solutions logigues et théoriques" et beaucoup "moins bon" pour passer a la partie code. De plus, je suis un "vieux" débutant en C/C++.
Edit : Par défault, les images OpenCV ont leurs origines en BAS et a GAUCHE :D