Accueil > Forum > > > > Recursivite ...
Recursivite ...
lundi 24 février 2003 à 21:36:01 |
Recursivite ...

payen
|
Salut a tous, J'ai un gros probleme, et je comprend pas pourquoi ... Je suis entrain de m'arracher les cheveux depuis le debut de l'aprem et la, ca va plus du tout ... Alors voila : je souhaite "labeliser" une image binaire (2 couleurs : blanc=255, noir=0). Labeliser consiste a attribuer une couleur a chaque ensemble de pixels blancs. Pour le faire, je me suis dit, genial, vive le recursif. et il est entrain de me rendre dingue ... Pour stocker les images d'entree et de sortie, j'utilise une classe CImage. Elle contient les dimensions de l'image, et un tableau permettant de stocker les valeurs lues dans le fichier. Voici le main: int main(int argc, char *argv[]) { char nom[255]; int i, j; //Construction des objets image nécéssaires CImage image(atoi(argv[1]),atoi(argv[2]),0,0); //nb_lignes,nb_colonnes en parametres ... CImage inter(atoi(argv[1]),atoi(argv[2]),0,0); CImage label(atoi(argv[1]),atoi(argv[2]),0,0); //Mise à jour des noms strcpy(nom,argv[3]); image.MAJnom_image(nom); strcpy(nom,argv[4]); label.MAJnom_image(nom); image.Ouverture(); image.Lecture(); image.Fermeture(); for (i=0;i<label.nbL;i++) for (j=0;j<label.nbC;j++) label.image_memoire[i][j] = 0; inter.Labelisation(image,label); label.Ecriture(); label.Fermeture(); return 0; } Voila les fonctions utilisees: void CImage::Labelisation(CImage image, CImage label) { int i, j, val_label = 1; for (i=0;i<nbL;i++) for (j=0;j<nbC;j++) { if (image.image_memoire[i][j] == 255) { label.image_memoire[i][j] = val_label; Label_Voisi(image,label,i,j); val_label++; } } } void CImage::Label_Voisi(CImage image, CImage label, int i, int j) { int k, l; for (k=i-1;k<=i+1;k++) for (l=j-1;l<=j+1;l++) { if (k >= 0 && k < image.nbL && l >= 0 && l < image.nbC && (k != i && l != j)) { if (image.image_memoire[k][l] == 255 && label.image_memoire[k][l] == 0) { label.image_memoire[k][l] == label.image_memoire[i][j]; Label_Voisi(image,label,i,j); } } } } L'idee : parcourir l'image de depart. Si le pixel est noir, on ne fait rien. Si le pixel est blanc, on lui affecte une valeur de label (incrementee des que l'on change de zone), puis on regarde tous les pixels autour et on recommence ... d'où l'idee du recursif ... Ca devrait marcher!!!Toutes les conditions sont posees ... mais ca marche pas. VC++ me met un Stack Overflow au debugage (apparement au bout de 38 iterations de la fonction Label_Voisi ??!!??!!??!!). Si vous avez une idee, je suis hyper preneur. Merci d'avance (c un peu urgent) ioupix@yahoo.fr pour les precisions
|
|
lundi 24 février 2003 à 22:57:55 |
Re : Recursivite ...

BruNews
|
Salut, Stack Overflow est le danger qui menace toute func recursive. On a fait des bouquins entiers sur la maniere de transformer de recursif vers iteratif. Je pense que dans ton cas cela va te faire un tres bon exercice. Quand tu fais une func recursive, pose toi toujours la question de savoir combien d'octets tu mets sur la pile a chaque tour(les params) et combien d'appels recursifs la pile pourra supporter (sizeParams * tours). ciao...
------------------------------- Réponse au message : -------------------------------
> Salut a tous, > > J'ai un gros probleme, et je comprend pas pourquoi ... > Je suis entrain de m'arracher les cheveux depuis le debut de l'aprem > et la, ca va plus du tout ... > > Alors voila : je souhaite "labeliser" une image binaire (2 couleurs : blanc=255, noir=0). > Labeliser consiste a attribuer une couleur a chaque ensemble de pixels blancs. Pour le > faire, je me suis dit, genial, vive le recursif. et il est entrain de me rendre dingue ... > > Pour stocker les images d'entree et de sortie, j'utilise une classe CImage. Elle contient les > dimensions de l'image, et un tableau permettant de stocker les valeurs lues dans le fichier. > > Voici le main: > > int main(int argc, char *argv[]) > { > char nom[255]; > int i, j; > > //Construction des objets image nécéssaires > CImage image(atoi(argv[1]),atoi(argv[2]),0,0); > //nb_lignes,nb_colonnes en parametres ... > CImage inter(atoi(argv[1]),atoi(argv[2]),0,0); > CImage label(atoi(argv[1]),atoi(argv[2]),0,0); > > //Mise à jour des noms > strcpy(nom,argv[3]); > image.MAJnom_image(nom); > > strcpy(nom,argv[4]); > label.MAJnom_image(nom); > > image.Ouverture(); > image.Lecture(); > image.Fermeture(); > > for (i=0;i<label.nbL;i++) > for (j=0;j<label.nbC;j++) > label.image_memoire[i][j] = 0; > > inter.Labelisation(image,label); > > label.Ecriture(); > label.Fermeture(); > > return 0; > } > > > Voila les fonctions utilisees: > > void CImage::Labelisation(CImage image, CImage label) > { > int i, j, val_label = 1; > > for (i=0;i<nbL;i++) > for (j=0;j<nbC;j++) > { > if (image.image_memoire[i][j] == 255) > { > label.image_memoire[i][j] = val_label; > Label_Voisi(image,label,i,j); > val_label++; > } > } > } > > > void CImage::Label_Voisi(CImage image, CImage label, int i, int j) > { > int k, l; > > for (k=i-1;k<=i+1;k++) > for (l=j-1;l<=j+1;l++) > { > if (k >= 0 && k < image.nbL && l >= 0 && l < image.nbC && (k != i && l != j)) > { > if (image.image_memoire[k][l] == 255 && label.image_memoire[k][l] == 0) > { > label.image_memoire[k][l] == label.image_memoire[i][j]; > Label_Voisi(image,label,i,j); > } > } > } > } > > L'idee : parcourir l'image de depart. Si le pixel est noir, on ne fait rien. > Si le pixel est blanc, on lui affecte une valeur de label (incrementee des que > l'on change de zone), puis on regarde tous les pixels autour et on recommence ... > d'où l'idee du recursif ... > Ca devrait marcher!!!Toutes les conditions sont posees ... mais ca marche pas. > VC++ me met un Stack Overflow au debugage (apparement au bout de 38 iterations de > la fonction Label_Voisi ??!!??!!??!!). > > Si vous avez une idee, je suis hyper preneur. > Merci d'avance (c un peu urgent) > ioupix@yahoo.fr pour les precisions
|
|
lundi 24 février 2003 à 23:19:39 |
Re : Recursivite ...

payen
|
Et comment sait-on combien d'appels recursif la pile peut supporter?
------------------------------- Réponse au message : -------------------------------
> Salut, > Stack Overflow est le danger qui menace toute func recursive. On a fait des bouquins entiers sur la maniere de transformer de recursif vers iteratif. Je pense que dans ton cas cela va te faire un tres bon exercice. > Quand tu fais une func recursive, pose toi toujours la question de savoir combien d'octets tu mets sur la pile a chaque tour(les params) et combien d'appels recursifs la pile pourra supporter (sizeParams * tours). > ciao... > > ------------------------------- > Réponse au message : > ------------------------------- > > > Salut a tous, > > > > J'ai un gros probleme, et je comprend pas pourquoi ... > > Je suis entrain de m'arracher les cheveux depuis le debut de l'aprem > > et la, ca va plus du tout ... > > > > Alors voila : je souhaite "labeliser" une image binaire (2 couleurs : blanc=255, noir=0). > > Labeliser consiste a attribuer une couleur a chaque ensemble de pixels blancs. Pour le > > faire, je me suis dit, genial, vive le recursif. et il est entrain de me rendre dingue ... > > > > Pour stocker les images d'entree et de sortie, j'utilise une classe CImage. Elle contient les > > dimensions de l'image, et un tableau permettant de stocker les valeurs lues dans le fichier. > > > > Voici le main: > > > > int main(int argc, char *argv[]) > > { > > char nom[255]; > > int i, j; > > > > //Construction des objets image nécéssaires > > CImage image(atoi(argv[1]),atoi(argv[2]),0,0); > > //nb_lignes,nb_colonnes en parametres ... > > CImage inter(atoi(argv[1]),atoi(argv[2]),0,0); > > CImage label(atoi(argv[1]),atoi(argv[2]),0,0); > > > > //Mise à jour des noms > > strcpy(nom,argv[3]); > > image.MAJnom_image(nom); > > > > strcpy(nom,argv[4]); > > label.MAJnom_image(nom); > > > > image.Ouverture(); > > image.Lecture(); > > image.Fermeture(); > > > > for (i=0;i<label.nbL;i++) > > for (j=0;j<label.nbC;j++) > > label.image_memoire[i][j] = 0; > > > > inter.Labelisation(image,label); > > > > label.Ecriture(); > > label.Fermeture(); > > > > return 0; > > } > > > > > > Voila les fonctions utilisees: > > > > void CImage::Labelisation(CImage image, CImage label) > > { > > int i, j, val_label = 1; > > > > for (i=0;i<nbL;i++) > > for (j=0;j<nbC;j++) > > { > > if (image.image_memoire[i][j] == 255) > > { > > label.image_memoire[i][j] = val_label; > > Label_Voisi(image,label,i,j); > > val_label++; > > } > > } > > } > > > > > > void CImage::Label_Voisi(CImage image, CImage label, int i, int j) > > { > > int k, l; > > > > for (k=i-1;k<=i+1;k++) > > for (l=j-1;l<=j+1;l++) > > { > > if (k >= 0 && k < image.nbL && l >= 0 && l < image.nbC && (k != i && l != j)) > > { > > if (image.image_memoire[k][l] == 255 && label.image_memoire[k][l] == 0) > > { > > label.image_memoire[k][l] == label.image_memoire[i][j]; > > Label_Voisi(image,label,i,j); > > } > > } > > } > > } > > > > L'idee : parcourir l'image de depart. Si le pixel est noir, on ne fait rien. > > Si le pixel est blanc, on lui affecte une valeur de label (incrementee des que > > l'on change de zone), puis on regarde tous les pixels autour et on recommence ... > > d'où l'idee du recursif ... > > Ca devrait marcher!!!Toutes les conditions sont posees ... mais ca marche pas. > > VC++ me met un Stack Overflow au debugage (apparement au bout de 38 iterations de > > la fonction Label_Voisi ??!!??!!??!!). > > > > Si vous avez une idee, je suis hyper preneur. > > Merci d'avance (c un peu urgent) > > ioupix@yahoo.fr pour les precisions >
|
|
lundi 24 février 2003 à 23:26:35 |
Re : Recursivite ...

vieuxLion
|
bonsoir, je ne juge pas la de perspicacité (ou non) de la récursion ici. Ce qui me surprend est de deviner que ta classe CImage possède un tableau [nbL][nbC] => volumineux et de voir que les passages dans les fonctions se font PAR VALEUR , ce qui est très couteux en pile.
Attention encore ! D'autre part, la classe possède donc un (double) pointeur et elle doit nécessairement être canonique, c'est à dire avoir un constructeur de copie non trivial qui s'occupe de dupliquer proprement le tableau (et peut-être un opérateur= si tu veux permetre l'affectation) et non pas simplement une copie du pointeur qui ne manque pas de provoquer un trap à la libération mémoire (au delete[]...). encore une remarque sur l'avant dernière ligne de code, je crois apercevoir un == au lieu d'un =
------------------------------- Réponse au message : -------------------------------
> Salut, > Stack Overflow est le danger qui menace toute func recursive. On a fait des bouquins entiers sur la maniere de transformer de recursif vers iteratif. Je pense que dans ton cas cela va te faire un tres bon exercice. > Quand tu fais une func recursive, pose toi toujours la question de savoir combien d'octets tu mets sur la pile a chaque tour(les params) et combien d'appels recursifs la pile pourra supporter (sizeParams * tours). > ciao... > > ------------------------------- > Réponse au message : > ------------------------------- > > > Salut a tous, > > > > J'ai un gros probleme, et je comprend pas pourquoi ... > > Je suis entrain de m'arracher les cheveux depuis le debut de l'aprem > > et la, ca va plus du tout ... > > > > Alors voila : je souhaite "labeliser" une image binaire (2 couleurs : blanc=255, noir=0). > > Labeliser consiste a attribuer une couleur a chaque ensemble de pixels blancs. Pour le > > faire, je me suis dit, genial, vive le recursif. et il est entrain de me rendre dingue ... > > > > Pour stocker les images d'entree et de sortie, j'utilise une classe CImage. Elle contient les > > dimensions de l'image, et un tableau permettant de stocker les valeurs lues dans le fichier. > > > > Voici le main: > > > > int main(int argc, char *argv[]) > > { > > char nom[255]; > > int i, j; > > > > //Construction des objets image nécéssaires > > CImage image(atoi(argv[1]),atoi(argv[2]),0,0); > > //nb_lignes,nb_colonnes en parametres ... > > CImage inter(atoi(argv[1]),atoi(argv[2]),0,0); > > CImage label(atoi(argv[1]),atoi(argv[2]),0,0); > > > > //Mise à jour des noms > > strcpy(nom,argv[3]); > > image.MAJnom_image(nom); > > > > strcpy(nom,argv[4]); > > label.MAJnom_image(nom); > > > > image.Ouverture(); > > image.Lecture(); > > image.Fermeture(); > > > > for (i=0;i<label.nbL;i++) > > for (j=0;j<label.nbC;j++) > > label.image_memoire[i][j] = 0; > > > > inter.Labelisation(image,label); > > > > label.Ecriture(); > > label.Fermeture(); > > > > return 0; > > } > > > > > > Voila les fonctions utilisees: > > > > void CImage::Labelisation(CImage image, CImage label) > > { > > int i, j, val_label = 1; > > > > for (i=0;i<nbL;i++) > > for (j=0;j<nbC;j++) > > { > > if (image.image_memoire[i][j] == 255) > > { > > label.image_memoire[i][j] = val_label; > > Label_Voisi(image,label,i,j); > > val_label++; > > } > > } > > } > > > > > > void CImage::Label_Voisi(CImage image, CImage label, int i, int j) > > { > > int k, l; > > > > for (k=i-1;k<=i+1;k++) > > for (l=j-1;l<=j+1;l++) > > { > > if (k >= 0 && k < image.nbL && l >= 0 && l < image.nbC && (k != i && l != j)) > > { > > if (image.image_memoire[k][l] == 255 && label.image_memoire[k][l] == 0) > > { > > label.image_memoire[k][l] == label.image_memoire[i][j]; > > Label_Voisi(image,label,i,j); > > } > > } > > } > > } > > > > L'idee : parcourir l'image de depart. Si le pixel est noir, on ne fait rien. > > Si le pixel est blanc, on lui affecte une valeur de label (incrementee des que > > l'on change de zone), puis on regarde tous les pixels autour et on recommence ... > > d'où l'idee du recursif ... > > Ca devrait marcher!!!Toutes les conditions sont posees ... mais ca marche pas. > > VC++ me met un Stack Overflow au debugage (apparement au bout de 38 iterations de > > la fonction Label_Voisi ??!!??!!??!!). > > > > Si vous avez une idee, je suis hyper preneur. > > Merci d'avance (c un peu urgent) > > ioupix@yahoo.fr pour les precisions >
|
|
lundi 24 février 2003 à 23:30:46 |
Re : Recursivite ...

vieuxLion
|
oui par défaut la pile (Stack) est taillée à 1 Mo ceci est paramètrable au niveau du linkeur Project/Settings/Link/Category Output => reserve
------------------------------- Réponse au message : -------------------------------
> Et comment sait-on combien d'appels recursif la pile peut supporter? > > > > ------------------------------- > Réponse au message : > ------------------------------- > > > Salut, > > Stack Overflow est le danger qui menace toute func recursive. On a fait des bouquins entiers sur la maniere de transformer de recursif vers iteratif. Je pense que dans ton cas cela va te faire un tres bon exercice. > > Quand tu fais une func recursive, pose toi toujours la question de savoir combien d'octets tu mets sur la pile a chaque tour(les params) et combien d'appels recursifs la pile pourra supporter (sizeParams * tours). > > ciao... > > > > ------------------------------- > > Réponse au message : > > ------------------------------- > > > > > Salut a tous, > > > > > > J'ai un gros probleme, et je comprend pas pourquoi ... > > > Je suis entrain de m'arracher les cheveux depuis le debut de l'aprem > > > et la, ca va plus du tout ... > > > > > > Alors voila : je souhaite "labeliser" une image binaire (2 couleurs : blanc=255, noir=0). > > > Labeliser consiste a attribuer une couleur a chaque ensemble de pixels blancs. Pour le > > > faire, je me suis dit, genial, vive le recursif. et il est entrain de me rendre dingue ... > > > > > > Pour stocker les images d'entree et de sortie, j'utilise une classe CImage. Elle contient les > > > dimensions de l'image, et un tableau permettant de stocker les valeurs lues dans le fichier. > > > > > > Voici le main: > > > > > > int main(int argc, char *argv[]) > > > { > > > char nom[255]; > > > int i, j; > > > > > > //Construction des objets image nécéssaires > > > CImage image(atoi(argv[1]),atoi(argv[2]),0,0); > > > //nb_lignes,nb_colonnes en parametres ... > > > CImage inter(atoi(argv[1]),atoi(argv[2]),0,0); > > > CImage label(atoi(argv[1]),atoi(argv[2]),0,0); > > > > > > //Mise à jour des noms > > > strcpy(nom,argv[3]); > > > image.MAJnom_image(nom); > > > > > > strcpy(nom,argv[4]); > > > label.MAJnom_image(nom); > > > > > > image.Ouverture(); > > > image.Lecture(); > > > image.Fermeture(); > > > > > > for (i=0;i<label.nbL;i++) > > > for (j=0;j<label.nbC;j++) > > > label.image_memoire[i][j] = 0; > > > > > > inter.Labelisation(image,label); > > > > > > label.Ecriture(); > > > label.Fermeture(); > > > > > > return 0; > > > } > > > > > > > > > Voila les fonctions utilisees: > > > > > > void CImage::Labelisation(CImage image, CImage label) > > > { > > > int i, j, val_label = 1; > > > > > > for (i=0;i<nbL;i++) > > > for (j=0;j<nbC;j++) > > > { > > > if (image.image_memoire[i][j] == 255) > > > { > > > label.image_memoire[i][j] = val_label; > > > Label_Voisi(image,label,i,j); > > > val_label++; > > > } > > > } > > > } > > > > > > > > > void CImage::Label_Voisi(CImage image, CImage label, int i, int j) > > > { > > > int k, l; > > > > > > for (k=i-1;k<=i+1;k++) > > > for (l=j-1;l<=j+1;l++) > > > { > > > if (k >= 0 && k < image.nbL && l >= 0 && l < image.nbC && (k != i && l != j)) > > > { > > > if (image.image_memoire[k][l] == 255 && label.image_memoire[k][l] == 0) > > > { > > > label.image_memoire[k][l] == label.image_memoire[i][j]; > > > Label_Voisi(image,label,i,j); > > > } > > > } > > > } > > > } > > > > > > L'idee : parcourir l'image de depart. Si le pixel est noir, on ne fait rien. > > > Si le pixel est blanc, on lui affecte une valeur de label (incrementee des que > > > l'on change de zone), puis on regarde tous les pixels autour et on recommence ... > > > d'où l'idee du recursif ... > > > Ca devrait marcher!!!Toutes les conditions sont posees ... mais ca marche pas. > > > VC++ me met un Stack Overflow au debugage (apparement au bout de 38 iterations de > > > la fonction Label_Voisi ??!!??!!??!!). > > > > > > Si vous avez une idee, je suis hyper preneur. > > > Merci d'avance (c un peu urgent) > > > ioupix@yahoo.fr pour les precisions > > >
|
|
Cette discussion est classée dans : label, image, argv, atoi, cimage
Répondre à ce message
Sujets en rapport avec ce message
Modifier la taille d'un CImage et seulement à l'affichage [ par perigv ]
Je suis débutant et voila mon problème:Je souhaiterai arriver à redimensionner une image de type CImage à la taille que je veux pour pouvoir la compar
CImage::Load (VC++) [ par meem ]
Bonjour,Lorsque j'essaye de charger une image avec CImage::Load, le système me renvoie un message"Debug Assertion Failed!File: c:\...\vc7\atlmfc\inclu
probleme d'affichage d'image sur c++ builder 5 [ par johndoed ]
Lorsque j'insere une image ou un label,quand je compile l'image ou le label n'aparaisse pas ??je ne sais pas pourquoi est ce que kelkun peut maider
Probleme tableau de pointeur vers des image [ par noetom ]
Bonjour, Je fais un programme qui travaille avec un grand nombre d'image mais j'aimerai ne garder que 4 images à la fois en mémoire. J'ai donc une
affiche une image sur mon interface [ par ribh ]
pour afficher une image j'ai fait ce petit code: int main(int argc, char* argv[]) { QApplication app(argc, argv); QLabel label; //on donn
verifi [ par infodaoudi ]
Bonjourj'ai un code comme ça :#elif PROGRAM == DO_SEGMENTATIONexitCode = (doSegmentation(argc, argv)) ? 0 : 1; <font
L'image n'apparait pas dans la boite à dialogue. [ par marcel6566 ]
VC++6 - MFCJ'ai créé une boite à dialogue lié à la class CIMAGE et je voudrais afficher l'image IDB_BITMAP1 dedans.J'ai défini CBitmap image;J'ai rajo
Pb avec l'affichage dans un dialog [ par marcel6566 ]
VC++6 - MFCJ'ai créé une boite à dialogue lié à la class CIMAGE et je voudrais afficher l'image IDB_BITMAP1 dedans.J'ai défini CBitmap image;J'ai rajo
C++ builder et Acess [ par sad_hil_dev ]
Slut les dev!!j'ai vraiment un probleme , je voudré savoir kommen faire afficher une image dans un Timage ki vient d'une base de donnée Acess je ne c
Charger un BMP avec une OpenFileDialog et l'afficher dans un pictureBox . [ par Dragoon ]
Bonjour à tous,Je ne suis pas un spécialiste du C++ et des MFC et je souhaiterais comprendre ce qui ne va pas dans mon programme.Je voudrais que celui
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|