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
TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|