Accueil > Forum > > > > Fusonner 2 images avec OpenCV
Fusonner 2 images avec OpenCV
mardi 26 juin 2007 à 16:42:36 |
Fusonner 2 images avec OpenCV

hakimus
|
Bonjour a tous,
je programme en C et j'utilise la bibliotheque openCV pour bricoler des images.
Mon probleme est simple et precis : j'ai besoin d'ajouter une petite image ET du texte sur une plus grande image.
L'objectif est de rajouter l'heure et un petit logo sur des images provenant d'une webcam. 
C'est pas faute d'avoir cherche, mais impossible de trouver une fonction openCV faisant ca!
Ca m'a pourtant l'air simple et je suis sur qu'on doit pouvoir le
faire. Je sais qu'on peut le faire avec la SDL, mais j'aimerais eviter
d'avoir a utiliser deux bibliotheques graphiques differentes dans mon
programme...
Donc voila, si un pro de l'openCV passe par la et a une idee sur la facon de proceder, je lui serais bien reconnaissant. 
Merci d'avance
|
|
jeudi 28 juin 2007 à 09:32:40 |
Re : Fusonner 2 images avec OpenCV

katsankat
|
Réponse acceptée !
Salut,
Ce procédé s'appelle texture splatting ou encore blending. J'ai écrit une appli en GTK qui superpose 4 textures avec des masques alpha, c'est ultra rapide comme méthode.
Aujourd'hui j'ai besoin du même programme que toi, pour ajouter un copyright sur des centaines de photos à publier.
Ca me parait assez simple sans opencv. Il suffit de bien connaître les types d'images (bmp, jpg, png ...) pour parcourir les pixels. Mais là ou ça devient intéressant c'est que tu peux parcourir facilement les pixels avec opencv.
Exemple: placer un logo BMP de 64x64 pixels sur une image BMP de 1024x768 pixels, en bas à droite à 10 pixels des bords.
Parcourir les pixels de la grande image. De son header on connait la largeur des lignes, le nombre de lignes et de colonnes.
Le coin supérieur gauche de la petite image sera donc sur la colonne 1024 - 64 - 10 = 970 et sur la ligne 768 - 64 - 10 = 694
Si c'est un bmp à 3 channels, on se positionne direct sur l'octet 970 x 694 x 3 = 2019540
A partir de là, faire une boucle imbriquée pour remplacer les pixels de la grande par le pixel du logo. Il faut boucler sur la largeur et la hauteur de la petite image (ici 64 x 64). Enregistrer le nouveau bmp et c'est dans la boite!
Pour ajouter l' heure, un masque alpha peut être envisageable. Créer une petite image qui contient l'heure en noir sur blanc. Lors de la boucle imbriquée (elle même imbriquée), si le pixel est blanc, ne rien faire. Sinon remplacer le pixel de la grande image par celui de la petite.
Je crois bien que je vais m' y mettre en GTK+ parce qu'il dispose des fonctions qui vont bien pour lire/écrire quantité de formats de fichiers et surtout d'éccéder aux pixels. Le principe est le même pour toi avec opencv!
|
|
jeudi 28 juin 2007 à 09:42:24 |
Re : Fusonner 2 images avec OpenCV
|
vendredi 29 juin 2007 à 14:54:02 |
Re : Fusonner 2 images avec OpenCV

hakimus
|
Ma parole mais c'est vrai!
Les fonctions d'openCV sont si pratiques que j'en avais oublie d'essayer de le faire moi meme. 
Pixel par pixel ca marche tres bien, et on peut meme ignorer le fond blanc par exemple.
Par contre ce serait complique pour afficher l'heure, mais heureusement j'ai trouve la fonction openCV qui s'en charge : CvFont font; cvPutText (myImg,"My text",cvPoint(x,y), &font, cvScalar(b,g,r));
Merci de m'avoir ouvert les yeux en tout cas ^^
|
|
Cette discussion est classée dans : images, programme, simple, opencv, fusonner
Répondre à ce message
Sujets en rapport avec ce message
C'Est simple jveux savoir comment donner un icone a mon programme [ par keiser ]
Comment je peux faire pour changer l'icone du .exe ... je programmes juste avec borland c++ 5 Merci d'avance mes amis :) keiser ---u-@
une question toute simple.. aidez moi, stp!!! [ par xose ]
Je viens d'installer le Borland C++. Une fois que le programme est compilé, la fenetre noire disparait toute suite!! Je n'arrive pas à voir jamais les
programme de marquage d'images [ par michaeldalinbis ]
bonjour,nous sommes 3 étudiants et faisons des recherches sur la stéganographie.recherchons plus précisément des programmes(le + compréhensible possib
pb programme très très simple [ par surfeurnet ]
voila il s'agit d'un programme très simple qui ne fait pas d'erreurs à la compilation avec dev-cpp mais qui plante quand je l'exécute :#include char n
economiseur d'ecran [ par philippexxx ]
philippeje souhaite savoir la difference entre un programme graphique simple en visual c++ et un economiseur d'ecranoucomment transformer un programme
notion de champs dans un programme.... [ par cabarrus ]
salut j'ai des difficulté à comprendre la notion de champs dans un programme ansi que l'utilité des déclarations de champs...sin on peu me faire un pe
Traitement d'images et corrélation [ par perigv ]
Bonjour à tous,J'aurais bien besoin d'un coup de main.J'ai commencer à réaliser un petit programme qui me permettra de comparer deux images que je cha
Gérer des images en dynamique [ par Forthian ]
Alors cette fois j'ai besoin de tout votre bon sens...Mes profs m'ont chier un truc, j'ai rien capté, eux non plus mais jsuis censé le faire quand mê
redimensionnement bmp [ par LoloS ]
Bonjour,Je crée un programme sous C++Builder qui a besoin de charger des images bmp (noir et blanc). Les images dont je dispose doivent être redimensi
Conversion image BMP [ par emrod ]
Salut, j'aimerais convertir une image BMP 16 bits en image BMP 24 bits, est-ce qu'il existe une fonction ou un programme pour faire ça ?En fait, j'ai
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|