CONVERTISSEUR IMAGE TO ASCII (ÉDITION RÉVISÉE)

elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 - 20 sept. 2005 à 10:10
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 - 30 déc. 2005 à 12:07
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/33855-convertisseur-image-to-ascii-edition-revisee

cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
30 déc. 2005 à 12:07
Euh...

A priori, il te faut une version de Delphi pour compiler le programme. Tu peux en télécharger une gratuitement sur le site de Borland.

Sinon, je peux aussi t'envoyer une version précompilée, mais dans ce cas envoie-moi un message privé.
cs_StanislasLefort Messages postés 1 Date d'inscription jeudi 29 décembre 2005 Statut Membre Dernière intervention 30 décembre 2005
30 déc. 2005 à 00:28
Hé hé... c'est vraiment un petit programme pour initiés. J'aimerais beaucoup convertir quelques images en code ASCII, mais pour un débutant comme moi, que faire s'il n'y a pas de fichier exe, par où commencer? Merci pour tout début de réponse :)
cs_popoleke Messages postés 1 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 2 novembre 2005
2 nov. 2005 à 09:01
je ne sai pas coment ouvrir le logiel moi g la version tryal (esaie)
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
27 sept. 2005 à 11:51
Forman fait parti d' un petit groupe comme Debiars qui crée de l' art avec des lignes de code.
C' est le cercle des poetes disparu du 21eme siecle, si si !
assemple Messages postés 65 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 16 décembre 2011
27 sept. 2005 à 11:42
Super boulot.
Très étrange aussi les machines à faire du bruit (LES SONS QUI RENDENT FOU! et LE SON QUI MONTE, QUI MONTE ET QUI MONTE!!!) .

Qui pourrait croire qu'on peut mettre de la poésie dans notre métier.

A quoi ça sert ? A rien ! C'est donc indispensable ? Oui !
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
26 sept. 2005 à 11:04
Salut Forman,
se serait pour tourner en tache de fond ...
Et oui, mon programme permet d' agrandir les images!
A+
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
24 sept. 2005 à 20:46
Au fait Mauricio, pour la fonction de redimensionnement, je ne sais pas si la tienne serait utile ici, car si j'ai bien compris, elle est surtout utile pour rapetisser des images, pas pour les aggrandir (corriges-moi si je me trompe). A priori, ici on aurait plutôt besoin d'aggrandir les images avant de les convertir.

Pour la gestion de la priorité du processus, en théorie ça n'est utile que si l'utilisateur a lancé en même temps un autre programme qui consomme beaucoup de resources (par exemple s'il est en train de ripper un DVD). Si le seul programme (significatif en terme de charge de processeur) en train de tourner est le mien, mettre sa priorité au maximum ne le fera pas tourner plus vite (en effet, les priorités des processus ou des threads ne sont que des priorités relatives entre elles, pas absolues). On pourrait aussi considérer les choses du point de vue inverse: qu'un utilisateur veuille convertir une grosse image en ASCII, et veuille lancer en même temps un programme sans que les performances de ce dernier en soient trop affectées. Le programme de conversion en ASCII pourrait alors tourner en tâche de fond pendant ce temps là... Mais là encore, je ne sais pas si ce serait trop justifié, puisque jusque là même avec des images assez grosses, ça n'a pas pris chez moi plus de quelques dizaines de secondes de calcul...
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
24 sept. 2005 à 20:34
En fin de compte, les ridgelets ça ne marche pas trop bien... Je laisse donc tomber.

J'avais oublié pour le "jour des Fourmis"...
Le bouquin (imaginaire) auquel je pensais, c'était le "Lexique de la Délinquescence". Extrait:

COINCIDENCE: Tu ne faisais pas attention à l'autre moitié de l'événement

Certains sont beaucoup plus savoureux, mais je crois qu'on est déjà assez hors-sujet comme ça pour se faire censurer par le modérateur ;-)
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
24 sept. 2005 à 18:40
Hé non , ...
Le livre c est "le Jour Des Fourmis" de Bernard Werber(tres bon livre aussi,je t assure!),
par contre le tiens je connaissais pas
mais je vais pas tarder a le connaitre vu les critiques que j ai pu lire ...

Merci pour les explications(bien qu assez evidente) et vivement la prochaine evolution ...

Ciao
Nico
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
24 sept. 2005 à 14:49
Au sujet de la rapdidité d'exécution: le programme ira plus vite si les conditions suivantes sont respectées:
-L'image est de petite taille (ça ça parait évident lol)
-La police est de grande taille
-La qualité de l'ondelette est basse (ça prend 2 à 4 fois plus de temps si on choisit la qualté maximale)
-Les caractères de la police sont de largeur constante (par exemple la police Fixedsys)
-On n'utilise que les caractères alphanumériques

A la base si j'ai refait ce programme (sachant qu'il existait déjà sur le site), c'est parce que la version déjà existante fonctionnait mal sur les images comportant des dessins faits avec un trait fin par exemple. En théorie ma version devrait mieux les gérer, puisqu'elle prend en compte les différences de contraste locales (grâce au caractère "multi-échelle" de l'analyse par l'ondelette). Je suis en train de mettre au point une amélioration possible en utilisant une analyse par "ridgelets"...
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
24 sept. 2005 à 14:23
Merci! ;-)

A ce que je vois, tu as lu "Tous à Zanzibar", n'est-ce pas? (j'ai lu "Encyclopédie du savoir relatif et absolu" sur ta fiche de membre). C'est un bouqin super!
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
23 sept. 2005 à 23:23
J allais oublier ,
Je t ai mis 10/10 bien qu une autre source de ce style soit deja sur Delphi.fr mais je dois admettre que la tienne est qd meme bcp plus complete(sans critiquer l autre bien sur )que celle presente sur le site

Ciao
Nico
Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
23 sept. 2005 à 23:21
Vraiment excellent ton programme Forman ,
dommage que pour les grandes images il faut attendre longtemps ...
Mais ca t y peux pas grand chose !

Allez encore Merci pour Toutes Tes sources ...

Ciao
Nico
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
21 sept. 2005 à 17:02
Ca y est, comme promis des commentaires! ;-)

J'ai corrigé quelques bugs lors du calcul de la norme. Il y a maintenant une analyse statistique de la police pour essayer de déterminer la matrice idéale, mais ça reste assez expérimental. J'ai mis à jour le fichier ini qui contient les matrices prédéfinies. On peut obtenir des effets bizarres en choisissant des coefficients petits en haut à gauche de la matrice (pour l'intensité) et plus gros à droite en bas.

Maintenant, le programme se comporte comme un assistant avec plusieurs étapes. Amusez-vous bien!

;-)
cs_Forman Messages postés 600 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 6 avril 2010 1
20 sept. 2005 à 16:50
Pour le problème de la taille, ce n'en est pas vraiment un, puisqu'il suffit de mettre une police plus petite!

Promis, dès que j'ai le temps je renomme mes composants et je mets des commentaires ;-)

Sinon, si les images ne sont pas assez contrastées, on peut aussi désactiver la fonction de correction du gamma. Le principe de la correction de gamma est le suivant: si on considère tous les caractères d'une police, le caractère le plus "foncé" (c'est à dire celui qui comporte le plus de pixels noirs) ne remplit pas forcément tout le rectangle qu'il occupe de noir (très peu de polices comportent un caractère rectangulaire noir qui remplit toute sa "bounding box"). Si l'image qu'on souhaite transformer comporte des zones très sombres, alors pour respecter ces niveaux de gris très sombres, par défaut le programme pourrait les remplacer par le caractère le plus sombre, sans faire de différence entre les différentes zones à l'intérieur de la partie sombre.

Par exemple supposons que le caractère le plus sombre de la police soit "@", et qu'il recouvre 70% des pixels du rectangle qu'il occupe. Tous les niveaux de gris dont l'intensité (ramenée dans l'intervalle [0,1]) est inférieure à 0.3 seraient remplacés par "@", quelle que soit leur valeur (par exemple 0.1 0.2 ou 0.3). La fonction de correction de gamma permet d'éviter cela: on applique une constante de renormalisation sur la valeur interpolée des niveaux de gris des caractères de la police, pour que le caractère le plus sombre de la police sélectionnée soit considéré comme ayant une luminosité minimale. Ainsi, cela permet d'avoir des zones de contrastes dans le texte ASCII dans les zones sombres, mais la luminosité globale sera un peu plus forte que l'image de départ...
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
20 sept. 2005 à 16:26
Pour ceux que ça interessent, si vous voulez avoir les lettres en blanc sur un fond noir, il suffit d' ajouter un bouton et d' y mettre le code suivant dans l' evenement OnClick:
Memo1.Font.Color := clWhite;
Memo1.Color := clBlack;

Il faut biensûr avant de charger l' image voulue, lui crée un négatif avec le Paintbrush de Windows. Le résultat m' a semblé plus contrasté (entendez par la, de meilleure qualité)!
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
20 sept. 2005 à 16:00
Forman, c' est le pro en ce qui concerne les applications graphiques! Tu viens encore de nous prouver cela.
Malheureusement, ça manque cruellement d' explications tout ça!!!
je te mets 9/10 mais j' attends tes commentaires sur cette source qui est plus qu' interessante. Profite en pour expliquer à quoi servent les différents contrôles.

Juste quelques remarques sur le résultat obtenu :
-il faudrait pouvoir choisir le "output": combien de pixels sur l' horizontal, ce qui influencerai sur le résultat biensûr! Plus de pixels => plus de lettres => plus de qualité!
-un des problèmes vient du fait que, si l' image est petite, sa représentation en texte le sera aussi. On doit donc agrandir l' image pour avoir une représentation plus fidèle.
-le résultat est confu pour des images complexes: la recherche des contours ne semblent pas fonctionner correctement. Le plus gros problème, et je pense que tu seras d' accord avec moi, vient de la représentation des niveaux de gris.

Mais bravo, et A+
elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
20 sept. 2005 à 10:10
Programme vraiment sympa !

Par contre + de commentaires, et explique à quoi servent les différentes TrackBar, et comment faire les réglages.

Sinon Bravo.
Rejoignez-nous