Soyez le premier à donner votre avis sur cette source.
Vue 29 456 fois - Téléchargée 2 851 fois
//**************************************************************************************** //MORARD Vincent //vincent.morard@cpe.fr //pistol.petesampras.free.fr //**************************************************************************************** #include "CImage.h" #include "DlgCallback.h" void Message5(HWND hList,HWND hDlg,char *Mes,int Buf) { SendMessage(hList,LB_ADDSTRING, 0, (LONG)Mes); SendMessage(hDlg,WM_UPDATE,Buf,0); Sleep(0); } //************************************************************************************ //Thread Cercle3 : Détection de cercle sur l'image d'un oeil. //Le but de ce traitement est de détecter le contour de la pupile ainsi que le contour de l'iris //Le but final étant de trouver le centre de l'oeil et les rayon des cercles associés. //************************************************************************************ DWORD WINAPI DetectionCercle3(LPVOID lpParam ) { HWND hDlg,hOK,hwndList; int R,X,Y; hDlg=(HWND) lpParam; hwndList=GetDlgItem(hDlg, IDC_LIST1); hOK=GetDlgItem(hDlg, IDOK); int t = GetTickCount(); //initialisation du temps SendMessage(hwndList, LB_ADDSTRING, 0, (LONG)"Début du traitement"); if(Img[0].LoadBmp("./Hough.bmp")==0)return 0; Img[0].ConvertRGB2Gray(); Message5(hwndList,hDlg,"Ouverture de l'image : Fait",0); if(Img[0].Sobel(GRAY,&Img[1])==0)return 0; Message5(hwndList,hDlg,"Sobel : Fait",1); if(Img[1].Threashold(254,&Img[2])==0)return 0; Message5(hwndList,hDlg,"Seuillage : Fait",2); if(Img[2].HoughCircleCompute(36,38,&Img[3],&X,&Y,&R)==0)return 0; if(Img[3].HoughContrasteAuto()==0)return 0; Message5(hwndList,hDlg,"Hough: détection de cercle : Fait",3); if(Img[0].DrawCircle(R,X,Y,255,0,0)==0)return 0; Message5(hwndList,hDlg,"Dessin du cercle trouvé : Fait",0); //Fin de la détection de la pupile coord: R, X, Y if(Img[0].Median(GRAY,9,40,&Img[4])==0)return 0; Message5(hwndList,hDlg,"Filtre médian : Fait",4); if(Img[4].Sobel(GRAY,&Img[5])==0)return 0; Message5(hwndList,hDlg,"Sobel : Fait",5); if(Img[5].Threashold(20,&Img[6])==0)return 0; Message5(hwndList,hDlg,"Seuillage: Fait",6); if(Img[6].HoughCircleCompute(100,100,&Img[7],&X,&Y,&R)==0)return 0; if(Img[7].HoughContrasteAuto()==0)return 0; Message5(hwndList,hDlg,"Hough: detection de cerlce : Fait",6); if(Img[0].DrawCircle(R,X+1,Y+1,0,255,0)==0)return 0; Message5(hwndList,hDlg,"Dessin du cercle trouvé : Fait",0); //Fin du traitement, le second cercle est de coordonnée R,X,Y SendMessage(hwndList, LB_ADDSTRING, 0, (LONG)"Fin du traitement, temps (ms) "); t = GetTickCount() - t; char Buf[20]; strcpy(Buf,itoa(t,Buf,10)); SendMessage(hwndList, LB_ADDSTRING, 0, (LONG)Buf); EnableWindow(hOK,TRUE); return 1; }
2 nov. 2011 à 12:01
je voudrais savoir quel version de Visual studio a été utilisée pour cette source.
Merci par avance.
2 nov. 2011 à 11:46
je voudrais savoir quel est la version de Visual studio utilisée pour cette source.
Merci par avance
5 janv. 2010 à 10:17
SVP, je suis débutante pour l'utilisation de matlab et je veux réaliser une application qui permet de sélectionner toute les cercle présentes dans une image donnée.
J'ai essayé de comprendre le code ci dessus, mais malheureusement j'ai pas compris grand chose:(
Merci de m'aider par des documents simples ou des lignes simples de code.
merci bien:)
27 févr. 2009 à 21:05
s'il ya qel q'un des documentation sur se sujet...merci
14 mars 2008 à 09:15
Je viens d'ailleurs de remettre la main sur son mémoire de thèse (de l'ami!) qui (j'en suis presque certain) va énormément te plaire!
En effet tu verras tout le travail qui a été fait autour du filtrage et des optimisations (multi échelle) et des transformées de Hough pour droites et ellipses.
http://www.cmi.univ-mrs.fr/ecole-doctorale/pdftheses/LeTroter.pdf
C'est une demi réponse à ta requête au sujet de ma propre thèse (qui est confidentielle pour 10 ans...), puisque j'ai utilisé des optimisations sur Hough parfois équivalentes (même directeur de thèse... comme par hasard :o) )
A+
PS : je trouve humblement sa thèse très accessible, puisque faite dans esprit très didactique plus informatique que mathématique.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.