begin process at 2012 05 27 21:02:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > TRAITEMENT DE L'IMAGE : APPLICATION DE FILTRES (CMUGRAPHICS)

TRAITEMENT DE L'IMAGE : APPLICATION DE FILTRES (CMUGRAPHICS)


 Information sur la source

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :filtre, cmugraphics, image, convolution, paint Niveau :Débutant Date de création :23/02/2006 Date de mise à jour :02/01/2007 14:03:26 Vu / téléchargé :13 212 / 3 096

Auteur : Pistol_Pete

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Ce code permet d'appliquer différents filtres sur une image JPG: filtres Passe Bas, Passe Haut, detection des bords, lissage gaussien...

La plus part de ses filtres sont une convolution des matrices RVB par une matrice 3x3. (ex pour un passe bas on convolue l'image par {[1 1 1][1 1 1][1 1 1]} , pour un passe haut{[0,1,0][1,-4,1][0,1,0]...}
Toutes les convolutions sont expliquées dans le code.

Pour éxécuter le prog, il faut absolument que l'image que vous voulez chargé se trouve dans le MEME REPERTOIRE que l'éxécutable AVEC LE NOM : test.JPG  sinon il y aura une erreur à l'ouverture.

Mon site internet : http://pistol.petesampras.free.fr/


 Conclusion

Conseil: ne charger pas d'image trop grosse car cela peut prendre du temps...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

03 juillet 2006 19:50:50 :
Ajout d'un histogramme visualisant la répartission des couleurs
02 janvier 2007 14:03:27 :
ajout de l'adresse de mon site internet

 Sources du même auteur

Source avec Zip Source avec une capture VISUALISATION DES IMAGES EN 3D SANS OPENGL
Source avec Zip Source avec une capture ANALYSE DE LA TEXTURE D'UNE IMAGE : FILTRE DE GABOR
Source avec Zip Source avec une capture VIEWER COMPLET POUR LE TRAITEMENT DE L'IMAGE : IMANALYSE
Source avec Zip Source avec une capture ALGORITHMES D'OPTIMISATION NON LINÉAIRE: DESCENTE DE GRADIEN...
Source avec Zip Source avec une capture CLASSE GRAPH: GESTION DES GRAPHIQUES DANS LES APPLICATIONS W...

 Sources de la même categorie

Source avec Zip Source avec une capture PLANNING D'EQUIPE par grephit
Source avec Zip APPLICATION DE DESSIN DE QUELQUES FIGURES par laguchori
Source avec Zip Source avec une capture HDR EXPOSURE FUSION par mecrosoft
Source avec Zip Source avec une capture IRC CLIENT MULTISERVEUR EN MFC (TXIRC) par TeniX
Source avec Zip ENTETE DU FICHIER BMP (BIPMAP) par k.Lutchi

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture TRAITEMENT DE L'IMAGE: FILTRE MÉDIAN EN TEMPS CONSTANT par Pistol_Pete
Source avec Zip Source avec une capture DÉTECTION DES DROITES DANS UNE IMAGE : HOUGH par Pistol_Pete
Source avec Zip Source avec une capture FFT2D, IMAGE, SPECTRE, FILTRE PASSE-BAS PASSE-HAUT par JCDjcd
Source avec Zip Source avec une capture TRANSFORMÉE DE HOUGH: DÉTECTION DE DROITES par Pistol_Pete
Source avec Zip Source avec une capture STÉGANOGRAPHIE : CAMOUFLAGE DE TEXTE DANS UNE IMAGE par Pistol_Pete

Commentaires et avis

Commentaire de mogwai93 le 23/02/2006 20:19:34

il manque les fichiers cmugraphics.h et cmugraphics.cpp

et quand on veut quitter l'executable
la fenetre DOS affiche le message d'erreur :
Fatal Error : Failed to BilBlt in UpdateBuffer!

Commentaire de DeAtHCrAsH le 24/02/2006 09:19:28

Elle est jolie la mosquée ^_^

Commentaire de mogwai93 le 24/02/2006 13:41:59

t'as pas reconnu le taj mahal ? :-/
:-D

Commentaire de Pistol_Pete le 24/02/2006 15:04:59

Salut
CMUgarphics est une lib qu'utilisait mon école. Mais tu peux la trouver sur internet (thanks google... lien http://cs.colgate.edu/APCS/C++/BorlandCMUInstall.html)

Pour le message d'erreur c'est normal, il essaie de raffraichir l'image alors que la fenetre graphique n'existe plus. J'ai pas encore trouver le moyen de supprimer le terminal en meme temps que la fenetre graphique.
  

Commentaire de Pistol_Pete le 24/02/2006 15:14:42

Aussi je voulais vous demander: Pour le filtre repoussage et certaines couleurs le fitre fait baver l'image en vert en certain endroit. Je voulais savoir d'ou cela venait.
Mon filtre passe haut: contraste 1 me fait la meme chose lorsque on l'applique plusieurs fois de suite. Cepedant ici c'est normal puisque je convolue DIRECTEMENT les 2 matrices.(la valeur du pixel modifier a un role dans la valeur des autres pixels).Or j'utilise une image temporaire dans le filtre repoussage. Ce phénomène ne devrait plus exister.

Commentaire de ptifleur le 20/03/2006 15:23:08

salut ,ton projet a t'il été fait avec DEVc++ ...parceque j'arrive pas à le compiler .
a+ merci d'avance

Commentaire de Pistol_Pete le 22/03/2006 20:16:03

Mon prog est en C++ donc tu devrais arriver a le compiler avec devc++. Vérifie que tu as bien inclue la librairi CMUgraphics lorsque tu as créé ton prog. Si ta bien suivit la demarche décrite sur le site internet que j'ai indiqué, il ne devrait pas avoir de pb. Sinon dis moi les messages d'erreur que tu as.
A+

Commentaire de ptifleur le 23/03/2006 15:11:53

Ton prog marche bien ,et il m'aidera par la suite .je te remercie
a+

Commentaire de hichamc75 le 10/10/2006 16:57:48

j'ai un probléme avec l'adresse suivante http://cs.colgate.edu/APCS/C++/BorlandCMUInstall.html
j'aimerai récupérer la librairie

Commentaire de Pistol_Pete le 11/10/2006 18:43:52

Ben je ne sais pas pourquoi ce lien ne marche plus, peut être que leur serveur est tombé...
Si tu veux récupérer la lib passe-moi ton adresse email et je te l'enverrais

Commentaire de Pistol_Pete le 14/01/2007 19:56:28

Voila j'ai mis la lib sur mon site internet comme ca il ne devrait plus y avoir de problème et tout le monde pourra compiler mes sources
http://pistol.petesampras.free.fr

A+

Commentaire de mzell le 27/11/2007 23:28:47

Bonjour,
J'ai bien ajouté la librairie comme indiquer sur votre site. Cependant je n'ai pas réussi à compiler votre projet!
Voici les erreurs, si vous pouviez me donner la cause, je vous remercie d'avance:

Linking...
main.obj : error LNK2001: unresolved external symbol "public: __thiscall window::~window(void)" (??1window@@QAE@XZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::retour_save(struct param *)" (?retour_save@paint@@QAEXPAUparam@@@Z)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::negatif(void)" (?negatif@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::brouillage(void)" (?brouillage@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::phases(void)" (?phases@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::repoussage(void)" (?repoussage@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::pastel_2(void)" (?pastel_2@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::pastel_1(void)" (?pastel_1@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::noir_blanc(void)" (?noir_blanc@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::eclairage(int)" (?eclairage@paint@@QAEXH@Z)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::desentrelassage(void)" (?desentrelassage@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::detection_bord(void)" (?detection_bord@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::contraste(void)" (?contraste@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::passe_haut2(void)" (?passe_haut2@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::passe_haut(void)" (?passe_haut@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::passe_bas_median(void)" (?passe_bas_median@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::flou_selectif(void)" (?flou_selectif@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::dessin_image(void)" (?dessin_image@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::passe_bas(void)" (?passe_bas@paint@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall window::UpdateBuffer(void)" (?UpdateBuffer@window@@QAEXXZ)
main.obj : error LNK2001: unresolved external symbol "public: void __thiscall paint::DrawSpectre(class window &)" (?DrawSpectre@paint@@QAEXAAVwindow@@@Z)
main.obj : error LNK2001: unresolved external symbol "public: bool __thiscall window::SetBuffering(bool)" (?SetBuffering@window@@QAE_N_N@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall window::window(int,int,int,int)" (??0window@@QAE@HHHH@Z)
main.obj : error LNK2001: unresolved external symbol "public: __thiscall paint::paint(void)" (??0paint@@QAE@XZ)
main.obj : error LNK2001: unresolved external symbol "void __cdecl affiche(struct param *)" (?affiche@@YAXPAUparam@@@Z)
Debug/main.exe : fatal error LNK1120: 25 unresolved externals
Error executing link.exe.

main.exe - 26 error(s), 0 warning(s)

Commentaire de Pistol_Pete le 29/11/2007 12:30:10

Salut
Deux choses:
-Fait un nouveau programme avec seulement les lignes de codes tests de mon site. Dis moi si ca marche (l'ouverture de la fenetre graphique)
-As tu bien ajoutés tous les fichiers du projet: paint.h et paint.c ?

Commentaire de mzell le 29/11/2007 22:19:03

Salut,

En fait, j'avais oublié d'ajouter le CMUgraphic...lib au projet. 9a marche maintenant.
Merci.

Commentaire de jonartoeli le 16/02/2012 17:46:38

Salut
j essaie de compiler sur DevC++ mais j ai des erreurs. Pouvez vous maidez
Merci

Compilateur: Default compiler
Building Makefile: "C:\Users\jjj\Desktop\filtre image\Makefile.win"
Exécution de  make...
make.exe -f "C:\Users\Nold\Desktop\filtre image\Makefile.win" all
g++.exe -c paint.cpp -o paint.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include"  -I"C:/Dev-Cpp/include/c++/3.4.2/backward"  -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32"  -I"C:/Dev-Cpp/include/c++/3.4.2"  -I"C:/Dev-Cpp/include"  

In file included from cmugraphics.h:16,
                 from paint.h:4,
                 from paint.cpp:1:
mousequeue.h:9:18: stdlib: No such file or directory
In file included from mousequeue.h:10,
                 from cmugraphics.h:16,
                 from paint.h:4,
                 from paint.cpp:1:
version.h:71:22: warning: no newline at end of file
In file included from cmugraphics.h:18,
                 from paint.h:4,
                 from paint.cpp:1:

image.h:82:18: warning: no newline at end of file
In file included from paint.h:4,
                 from paint.cpp:1:
cmugraphics.h:328:24: warning: no newline at end of file
In file included from paint.cpp:1:
paint.h:54:7: warning: no newline at end of file
paint.cpp: In constructor `paint::paint()':
paint.cpp:32: error: name lookup of `i' changed for new ISO `for' scoping
paint.cpp:22: error:   using obsolete binding at `i'
paint.cpp:58: warning: converting to `int' from `double'
paint.cpp:59: warning: converting to `int' from `double'
paint.cpp:60: warning: converting to `int' from `double'
paint.cpp:67: error: `WIN_GRAY' undeclared (first use this function)
paint.cpp:67: error: (Each undeclared identifier is reported only once for each function it appears in.)
paint.cpp:72: warning: passing `double' for converting 3 of `void window::DrawRectangle(int, int, int, int, drawstyle, int, int)'

paint.cpp: In member function `int paint::median(int**, int, int)':
paint.cpp:139: error: name lookup of `k' changed for new ISO `for' scoping
paint.cpp:137: error:   using obsolete binding at `k'

paint.cpp: In member function `void paint::passe_haut2()':
paint.cpp:223: error: name lookup of `i' changed for new ISO `for' scoping
paint.cpp:207: error:   using obsolete binding at `i'

paint.cpp: In member function `void paint::contraste()':
paint.cpp:262: error: name lookup of `i' changed for new ISO `for' scoping
paint.cpp:245: error:   using obsolete binding at `i'

paint.cpp: In member function `void paint::detection_bord()':
paint.cpp:302: error: name lookup of `i' changed for new ISO `for' scoping
paint.cpp:282: error:   using obsolete binding at `i'

paint.cpp: In member function `void paint::phases()':
paint.cpp:368: error: name lookup of `i' changed for new ISO `for' scoping

paint.cpp:361: error:   using obsolete binding at `i'

paint.cpp: In member function `void paint::repoussage()':
paint.cpp:395: error: name lookup of `i' changed for new ISO `for' scoping
paint.cpp:388: error:   using obsolete binding at `i'

paint.cpp: In member function `void paint::echange(int, int)':

paint.cpp:435: error: name lookup of `k' changed for new ISO `for' scoping
paint.cpp:429: error:   using obsolete binding at `k'

paint.cpp: In member function `void paint::noir_blanc()':
paint.cpp:477: warning: converting to `int' from `double'
paint.cpp:478: warning: converting to `int' from `double'
paint.cpp:479: warning: converting to `int' from `double'
paint.cpp:484: error: `WIN_GRAY' undeclared (first use this function)
paint.cpp:489: warning: passing `double' for converting 3 of `void window::DrawRectangle(int, int, int, int, drawstyle, int, int)'

paint.cpp: In member function `void paint::dessin_image()':
paint.cpp:575: warning: passing `double' for converting 1 of `color::color(unsigned char, unsigned char, unsigned char)'

paint.cpp:575: warning: passing `double' for converting 2 of `color::color(unsigned char, unsigned char, unsigned char)'
paint.cpp:575: warning: passing `double' for converting 3 of `color::color(unsigned char, unsigned char, unsigned char)'
paint.cpp:580: error: `WIN_GRAY' undeclared (first use this function)
paint.cpp:585: warning: passing `double' for converting 3 of `void window::DrawRectangle(int, int, int, int, drawstyle, int, int)'

paint.cpp: In function `void affiche(param*)':

paint.cpp:611: error: `WIN_GRAY' undeclared (first use this function)
paint.cpp: In function `void gestion_filtre(int, int, bool, param*)':
paint.cpp:668: error: name lookup of `i' changed for new ISO `for' scoping
paint.cpp:665: error:   using obsolete binding at `i'

paint.cpp: In member function `void paint::DrawSpectre(window&)':
paint.cpp:808: error: name lookup of `i' changed for new ISO `for' scoping

paint.cpp:743: error:   using obsolete binding at `i'
paint.cpp:811: warning: converting to `int' from `double'
paint.cpp:824: warning: passing `double' for converting 2 of `void window::DrawLine(int, int, int, int, drawstyle)'

make.exe: *** [paint.o] Error 1

Exécution terminée

Commentaire de Pistol_Pete le 16/02/2012 17:55:06

C'est un vieux programme qui a du mal à compiler maintenant. Je te conseil de regarder sur mon site internet :
http://ImAnalyse.free.fr

Quelques pistes :
stdlib -> stdlib.h
Les autres erreurs sont du type :
for(int i=0;i>n;i++)
{  
  to domething
}
i=5;

il faut mettre bien sur
int i
for(i=0;i>n;i++)
{  
  to domething
}
i=5;

et WIN_GRAY, ajoute un #define
Bonne continuation
A+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Affichage d'image [ par elinep ] Bonjour tout le monde!Voila mon probleme:Je me met a la programmation de l'API win32. J'essaye de faire un petit prog qui charge une image .bmp depuis traiter une bitmap [ par hardos1986 ] Merci ca affiche bien des valeurs entre 0 et 255 mais le probleme c que quand je crée une bitmap monochrome ac Paint, la taille de celle ci les filtres de daubechies [ par haroudi19 ]  bonjour   tous le mondeje veux savoire comment appliquer un filtre de daubechies sur une image précisement comment faire le produ traitement image : filtre circulaire [ par jphotension ] jphotensionBonjour,je traite des images binaires bitmap en programmant en C. J'effectue des traitements sur l'image : érosion, dilatation, ouverture, Filtre de bayer [ par zoomeo ] Salut a tous!je poste ce message car j'ai un petit soucis...Je dois réaliser un "debayeuriseur" et je ne comprend pas trop le principe, du moins je ne filtre moyenneur [ par hassiba45 ] salut tous le monde, j'essaye de faire  un filtre  moyenneur  sur une image  BMP  en  C++  builder  6, mon pgm n'affiche pas le filtre correctement ca image [ par JoeBlack5 ] Bonjour à tous,Comme projet de fin d'étude, j'ai choisi le "Système d'identification par l'iris". Pour cela j'ai eu reccour à MATLAB et tous marche à filtrage [ par sousoi ] Bonjour, Je connais beaucoup mieux le C que le C++, et j'aimerais implémenter un filtre médian pour faire le filtrage d'une image. J'ai un tableau pou génération d'un filtre median en C [ par marouene2706 ] bon comme le titre l'indique, j'ai rencontré un petit probleme lors de la programmation d'un filtre median en C (image 400*300) j'aimerai avoir de l'a Produit de convolution 2D [ par dartal ] Salut ! Je dois realiser un produit de convolution pour pouvoir filtrer une image avec un masque ( un tableau de taille 3*3 )... J'ai reussi à


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales