TRAITEMENT DE L'IMAGE: FILTRE MÉDIAN EN TEMPS CONSTANT

Signaler
Messages postés
600
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
6 avril 2010
-
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49471-traitement-de-l-image-filtre-median-en-temps-constant

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Si ca marche! Cela veux juste dire que tu n'as pas installé la platform SDK. Sans elle, tu ne pourras pas programmer d'interface sous windows. (et donc tu ne pourras pas exécuter mon prog)
Si tu veux juste tester le programme, j'ai fourni l'exe.
Si tu veux le compiler, change de compilateur et télécharge VS2005 ou VS 2008 express. Ils sont gratuits.
Si tu veux garder code block, je ne sais pas!
Messages postés
6
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
15 avril 2010

de + je ne trouve pas ou je dois indiquer le nom du fichier de l'image que je
veux utiliser
Messages postés
6
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
15 avril 2010

Merci mais ca ne marche pas aussi et j'ai encore plus d'erreur
C:\Documents and Settings\Ines\Bureau\median\FastMedian\main.cpp|75|undefined reference to `_SetBkColor@8'|
C:\Documents and Settings\Ines\Bureau\median\FastMedian\main.cpp|76|undefined reference to `_TextOutA@20'|

Je vous explique comment j'ai fait j'ai tout d'abord crée un bouveau projet C++; puis j'ai fait copier coller
votre main dans le main du nouveau projet et puis j'ai ajouté les autres classes
Je veux exécuter un exemple de ctmf.cpp je veux donner une image et le résultat c'est l'image destination après application du constant median filter
Merci d'avance
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Remplace la fonction par celle là:
HBITMAP PictureToBitmap(LPBYTE pmem, DWORD nSize)
{
HRESULT hr;
CoInitialize(0);
HBITMAP hbmp_dst = 0;
IStream* stream = 0;
IPicture* picture = 0;
HBITMAP hbmp_src;
BITMAP bmp;
HGLOBAL hgbl =(HGLOBAL)GlobalAlloc(GMEM_FIXED, nSize);

memcpy(hgbl, pmem, nSize);

hr = CreateStreamOnHGlobal(hgbl, FALSE, &stream);
if(!SUCCEEDED(hr) || !stream) goto errPicture;

hr = OleLoadPicture(stream, nSize, 0, IID_IPicture, (void**)&picture);
if(!SUCCEEDED(hr) || !picture) goto errPicture;

picture->get_Handle((OLE_HANDLE *)&hbmp_src);
if(!SUCCEEDED(hr) || !picture) goto errHandle;

GetObject(hbmp_src, sizeof bmp, &bmp);
hbmp_dst = (HBITMAP)CopyImage(hbmp_src, IMAGE_BITMAP, 0, 0, 0);

errHandle:
picture->Release();
errPicture:
stream->Release();
GlobalFree(hgbl);
CoUninitialize();
return hbmp_dst;
}

Cela doit solutionner tes erreurs.
A+
Afficher les 13 commentaires