Accueil > Forum > > > > HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année
HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année
mercredi 20 mars 2002 à 13:30:46 |
HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

FLOX
|
Bonjour à tous, Auriez vous un source me permettant de transformer une image JPEG en BMP. Tout cela d'une manière simple et compréhensive pour un débutant en programmation. J'utilise en priorité C++ Builder 3.0. Ne me laissez pas tomber c'est pour mon projet de fin d'étude. Merci
|
|
vendredi 12 avril 2002 à 14:51:53 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

Corwyn
|
Salut !
Je fais remonter le topic car cela m'intéresserait beaucoup également. Pour l'instant, je ne sais charger que les images au format PGM ce qui convient bien sous UNIX. Mais sous Windows, le format de référence est le BMP ou le JPEG... Il me faudrait une fonction (ou classe) me permettant de charger une image JPEG ou BMP dans un buffer...
Merci aux connaisseurs de répondre...
|
|
samedi 27 mars 2004 à 17:18:41 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

Eur
|
Salut !
Manifestement je ne suis pas le seul dans ce cas ! Je dois réaliser une détection d'intrus depuis une caméra Axis 2100 ( caméra ip) qui fournit des images en jpeg uniquement ( à moins que je me trompe ). Mes profs l'ont acheté sans lire la notice technique...
Le problème est que je dois travaillé pixel par pixel ( imposé par le sujet ) et que je dois ensuite afficher l'image dans un programmes sous C++ Builder 3.0 .
Je suis donc à la recherche d'un composant permettant d'aller de JPEG à bmp, voir TIF ( c pas genant ) et si il peut faire aussi dans l'autre sens c pas plus mal non plus :)
Merci d'avance
|
|
vendredi 29 avril 2005 à 15:28:44 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

chasse18
|
j'ai ce qu'il vous faut sa marche car j'ai le même projet et la
détéction marche pour l'instant mais doit être optimisé voici le code
mais si vous l'optimisé faite moi signe.
#include "clDetectionMouv.h"
//*****************************************************************************
DetectionMouv::DetectionMouv(int i_seuil, TJPEGImage *_p_image, AnsiString _s_nomCadre)
{
seuilDetect = i_seuil;
p_image = _p_image;
s_nomCadre = _s_nomCadre;
Graphics::TBitmap * jpgCompar = new Graphics::TBitmap;
DetectionMouvement (p_image, s_nomCadre);
}
//*****************************************************************************
void DetectionMouv::ActiverDetect ( bool Autorisation)
{
b_detect = Autorisation;
}
//*****************************************************************************
void DetectionMouv::DetectionMouvement (TJPEGImage *_p_image,
AnsiString s_nomCadre) //avt
utils::SharedPtr<Image>& _p_media
{
Graphics::TBitmap * bmp2 = new Graphics::TBitmap;
bmp2->Assign(_p_image);
bmp2->PixelFormat = pf8bit; //avt pf4bit
int cpt = 0;
int *ptr1;
int *ptr2;
Graphics::TBitmap * jpgCompar = new Graphics::TBitmap;
jpgCompar->LoadFromFile("C:\\"+s_nomCadre+".bmp");
for ( int i_y = 0; i_y <= bmp2->Height-1; ++i_y)
{
ptr1 = (int *)jpgCompar->ScanLine[i_y];
ptr2 = (int *)bmp2->ScanLine[i_y];
for ( int i_x = 0; i_x <= bmp2->Width-1; i_x++)
{
if (i_x <=
592)
//DIM image 640 X 480 pb avec ma camera planet
//pas avec axis
if( ptr1[i_x] != ptr2[i_x])
++cpt;
}
}
if(cpt >= seuilDetect)
{
// Encodage( 10 );
AnsiString test = "Mouvement à l'écran de la ";
test += s_nomCadre ;
ShowMessage("je t'ai vue");
jpgCompar->SaveToFile("C:\\Tvue.bmp");
}
ChangerImage(bmp2);
delete bmp2;
delete jpgCompar;
}
//*****************************************************************************
void DetectionMouv::Encodage(int TempsEncodage) // Temps en seconde
{
for(int i =0 ; i>TempsEncodage ; ++i)
{}
}
//*****************************************************************************
void DetectionMouv::ChangerImage(Graphics::TBitmap * NewBmp)
{
jpgCompar = NewBmp;
jpgCompar->SaveToFile("C:\\Camera
1.bmp");
//"C:\\"+s_nomCadre+".bmp" // stockage de du
nom du cadre
}
//*****************************************************************************
bool DetectionMouv::IsActivDetect()
{
return b_detect;
}
//*****************************************************************************
Graphics::TBitmap* DetectionMouv::TransformJpegBmp ( TJPEGImage *_p_image)
{
Graphics::TBitmap * bmp2 = new Graphics::TBitmap;
bmp2->Assign(_p_image);
bmp2->PixelFormat = pf4bit;
return bmp2;
}
il me reste a conserver la première image en memoire et éviter ainsi les accés disque.
Amicalement Chasse18
|
|
lundi 2 mai 2005 à 17:20:52 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

Eur
|
Merci c'est bien gentils. Cependant le projet a été terminé l'an dernier. Pour ceux que ça intéresse, nos profs nous fait faire la chose suivante ( un peu idiote, voire bcp mais bon, on a pas pu discuter avec eux ) : installer un composant graphique qui permet de manipuler les images sous Builder 3.0, intègré dans une fenêtre cachée, qui convertissait sauvegardait les images , appellée de n'importe quel type de fichier en BMP. Biensûr c'est lourd, pas du tout optimisé, et ça multiplie les accès disques car les fonctions de ce composant ne fonctionnait que sur le disque.
Cependant le jury de l'examen a fait une remarque qui te permettrait de rendre plus facile l'optimisation de ton programme : créer un disque dur virtuel, sur lequel tu enregistres tes images.
Pour ce qui est de la solution de garder la première image en mémoire, je pense que c'est pas une super idée, car mettons que le programme fonctionne 8h d'affilée, dans la journée, t'as des fluctuations de lumière assez grandes, qui sont encore plus visibles lorsque tu travailles en Jpg. Nous avions optés pour une comparaison d'images prises l'une à la suite de l'autre, avec un seuil de tolérance pour les fluctuations, et un seuil de tolérance quand à la masse de pixels différents.
Amicalement
|
|
mardi 3 mai 2005 à 09:50:38 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

chasse18
|
si tu regarde le code tu veras que pour resterplus simple il te suffit
de récupérer la première image sans la traiter puis tu récupère la
seconde que tu compare et tu la remplace avec la première.
le probleme de ce code (qui marche) c'est qu'au bout 20 images seconde
cala ralentit l'application car elle n'a pas le temps de parcourrir la
matrice de pixel, que la deuxième image est déjà là.
sinon j'ai fait le test de lancer l'encodage en mpeg simultanement la
mémoire rest constant le cpu fait des aller retour entre 100 et 55%
mais acceptable.
si vous avez des idéés pour améliorer je suis preneur.
Chasse18
|
|
mardi 3 mai 2005 à 09:54:01 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

chasse18
|
j'ai oublié le disque virtuel je sai créer un disque virtuel et j'ai
essayer cependant étant donner la quantité d'image que me fournissent
les caméras ip et la quantité du disque virtuel (16 Mo).
sa explose
chasse18
|
|
mardi 3 mai 2005 à 19:35:25 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

Eur
|
Merci pour cette précision. Nous n'avons pas utilisés le composant TBitmap et ses fonctions. Nos profs nous l'ont interdit, en prétextant que le codage devait pouvoir être porté sous n'importe qu'elle plateforme, à part pour le chargement de l'image à l'écran. Pour l'analyse on a donc utilisé deux pointeurs, dans lesquels on stockait deux images, une première, puis la deuxième qui suivait. La comparaison se faisait sur ces deux images, puis prenait l'adresse de la deuxième et on prenait le premier pointeur que l'on faisait pointer vers cette adresse, ce qui évitait de passer par une phase de copie et donnais un gain en temps non négligeable. Pour optimiser, on a étudier une solution que les profs nous ont refusés, mais qui reste très utilisées quand même dans l'industrie. Au lieu de comparer chaque pixel de chaque image, tu peux prendre un pixel tout les X pixels. Ainsi, tu peux faire une sorte de grille plutôt qu'un rectangle plein, si tu vois ce que je veux dire.
Une autre solution pour optimiser serait de faire le md5 d'une ligne, et de le comparer au md5 de la même ligne sur la même image. Ca te permets de limiter le nombre de comparaison également.
Par exemple pour une image ça t'en ferai 480 au lieu de 307200 (dans le cas ou tu compares chaque pixel).
|
|
mercredi 4 mai 2005 à 09:58:57 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

chasse18
|
je vai regarder ton systeme de md5 en ce qui concerne les ptr, je
t'explique mon pb si tu veus j'ai une classe clEcranVCl qui est en
relation avec la clJpegVcl dans cette classe je manipule des jpeg alors
qu'au dessus de cette classe et dans toutes les autres ( 10 ) je
manipule mes images avec des pointeurs intelligent ce qui permet de ne
pas à avoir à traiter de la destruction de ceux-ci, mon pb est que je
voulais créer mon objet DetectionMouv dans clEcranVcl et passer le ptr
à clJpegVcl qui appelerai les méthodes utile à la detection du
mouvement. Mais je ne sai pas pourquoi il me créé un deuxième objet
DetectionMouv alors que je lui est passé par référence et donc sa
plante, car je ne conserver l'image en mémoire.
j'ai donc opté pour la création dans clJpegVcl et la sauvegarde sur le
disque, mais c'est très bourin et sa me plais oas du tout.
Chasse18
|
|
mercredi 11 janvier 2006 à 20:28:06 |
Re : HELP ME !!! Passer une image JPEG en BMP. Projet de fin d'année

bicolitcho
|
salut à tous !!!
Alors moi aussi je fais un projet avec une camera Ip axis 2100
C++ et avec C++ builder 5,mon but est d'inclure l'image de la camera Ip
en flux continue dans mon IHM .Si vous avez encore les sources de vos
ancien projet ou si vous pouvez m'aidez se serais très bien!!!
Je vous remercie tous !!please c'est pour mon projet de fin d'année!!
|
|
Cette discussion est classée dans : fin, projet, image, bmp, jpeg
Répondre à ce message
Sujets en rapport avec ce message
Transformer une image JPEG en BMP [ par FLOX ]
Bonjour à tous,Auriez vous un source me permettant de transformer une image JpEG en BMP. Tout cela d'une manière simple et compréhensive pour un début
C++, Windows: Affichage image (BMP,GIF,JPEG) dans fenetre [ par yves_r ]
Dev-C++, Windows: Je cherche à afficher une (ou plusieurs) image(s) (bmp, gif, jpeg) dans une fenêtre. Quelqu'un a-t-il une methode simple ?NB: j'ut
jpeg dans ressource [ par Arnaud16022 ]
bonjour... je sais comment chager un .jpg, je sais comment mettre un .bmp dans un .exe, je sais ouvrir ce .bmp dans la ressource au runtime, mais ca n
j'ai un projet en c ( traitement d'image) et j'ai besoin d'un code pour tracer un cercle, une droite, une ellipse.quelqu'un pourait m'aider. MERCI [ par agno ]
[code C++] Lire une image JPEG en hexa [ par kilowat ]
Bonjour, Je suis confronté à un problème dont je ne trouve pas la solution depuis quelques temps, voila je voudrais ouvrir une image jpeg, la lire bit
Convertion d'image jpg <-> bmp [ par shadow52 ]
Bonjour, je cherche une methode pour convertir une image jpg en bmp; jai trouver la commande DIBNeeded mais je n'ai pas tres bien compris comment ell
TF d'une image bmp en c++ ou c# [ par lecume ]
Salut, Je cherche à effectuer, sous visual C++ ou visual.net, une transformée de Fourier sur une image bmp. Je débute et je ne sais comment démarrer.
Projet BTS a finir - traitement image [ par Hercule2000 ]
Bonjour je suis un etudiant en BTS informatique industrielle et nous avons un projet a réaliser avant fin mai.Nous avons un bras manipulateur sur lequ
ouvrir une image (bmp ou jpg) puis la transformer en nuances de gris avec visual c++ 6 [ par tlemcenvisit ]
SalutJe voudrai programmer en utilisant le visual c++ un programme permettant d'ouvrir une image de type bmp ou jpg puis de la transformer en nuances
Convertion d'un bitmap 8 bits en un bitmal 24 bits [ par SauCisS ]
Bonjour, J'ai parcouru ce forum pour chercher ma réponse, mais sans succès. Alors voici mon problème : Comment à partir d'une image BMP 8 bits niv
Livres en rapport
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|