Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TRAMAGE : IMAGE EN NOIR OU BLANC


Information sur la source

Catégorie :Graphique Classé sous : tramage, noir blanc, scanline, Floyd-Steinberg, Matrice Niveau : Initié Date de création : 05/03/2008 Date de mise à jour : 10/03/2008 10:43:14 Vu / téléchargé: 4 170 / 358

Note :
Aucune note

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Comme le nom l'indique, c'est un petit exemple de tramage d'une image.
Il explique la technique pour convertir une image en noir et blanc.
Plusieurs algorithmes sont disponibles :
- Aléatoire
- Seuil n%
- Matrice 2x2 - 3x3 - 4x4
- Floyd-Steinberg (diffusion d'erreurs)
- Floyd-Steinberg + Matrice
- Floyd-Steinberg + Aléatoire
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

05 mars 2008 16:32:15 :
libération du bitmap "bt"
10 mars 2008 10:41:57 :
Ajout d'une unité sur les conseils avisés de delphiprog...
10 mars 2008 10:42:44 :
ajout de l'unité UTramage sur les conseils avisés de Delphiprog
10 mars 2008 10:43:14 :
ajout de l'unité UTramage sur les conseils avisés de Delphiprog

Commentaires et avis

signaler à un administrateur
Commentaire de cirec le 05/03/2008 15:47:07 administrateur CS

Salut,

1°) il y a des fuites de mémoire ... le Bitmap (bt) n'est pas libéré !!!

2°) la qualité du résultat est plus que discutable

3°) il te manque une technique qui donne de bien meilleur résultats :

Voir ici :
http://www.codyx.org/snippet_image-niveaux-gris_75.aspx#657

@+

signaler à un administrateur
Commentaire de barbichette le 05/03/2008 16:31:39

Salut,
Il me semble que le code que tu donne ne fait convertir en niveau de gris.
Pour ma part c'est du noir et blanc. 2 couleurs et non 256 niveaux de gris.
Il est vrai que le résultat n'est pas terrible, mais on pas bien faire mieux avec 2 couleurs.

Pour la libération du bitmap "BT", je poste un correctif.

Thanks

Barbichette

signaler à un administrateur
Commentaire de nethacker le 06/03/2008 12:49:24

Tres utile !

signaler à un administrateur
Commentaire de cedricbi le 08/03/2008 00:06:05

Joli source! Et vraiment sympa!
J'avais fais un code similaire en QBasic (!) pour pouvoir afficher des images 16 millions de couleurs alors que l'affichage n'en supportait que 16. (J'avais aussi implantés d'autre algorithmes tels que l'algorithme de Burkes ou de Stucki).

D'ailleurs, il pourrait être sympa d'étendre ton algorithme non plus seulement à du noir et blanc mais à du 16 ou 256 couleurs...

il faut savoir que c'est des algorithmes de ce genre (exactement le Halftoning) qui sont utilisés dans l'imprimerie (pour nos journaux par exemple) car les imprimantes ne peuvent pas faire autre chose que mettre un point de couleur ou de ne rien mettre (il n'y a pas de valeur intermédiaire comme sur les écrans). Dès lors, pour rendre un dégradé ou une palette de couleur important, il suffit de jouer sur "la globalisation" de notre oeil qui va plutot chercher à regarder la moyenne des couleurs d'une petite surface que chacun des points qui la compose.


Je dois dire qu'à chaque fois que je vois une source posté par toi je suis toujours certain d'être content du résultat.

signaler à un administrateur
Commentaire de Delphiprog le 09/03/2008 22:16:50 administrateur CS

Je ne discuterai pas de la qualité du rendu dans la mesure où le résultat semble être celui annoncé par l'auteur.

J'aurais toutefois aimé que ce code soit rendu plus facilement réutilisable en séparant le traitement des images des contrôles de l'interface. Je trouve cela bien dommage, surtout pour les débutants qui seront rebutés par la difficulté.

signaler à un administrateur
Commentaire de barbichette le 10/03/2008 10:45:49

Voilà chef...
Il est vrai que c'est plus clair comme ça....

Sinon, si quelqu'un à des informations sur d'autres algos possibles, je suis preneur.
Tel que Burkes ou de Stucki cité plus haut...

signaler à un administrateur
Commentaire de Caribensila le 13/03/2008 01:18:13

Je trouve ça super!
Merci Barbichette.

Pour ceux qui trouvent que 2 couleurs limitent trop un rendu, voir :
http://fr.wikipedia.org/wiki/Gustave_Dor%C3%A9

Moi, j'aurais laissé tomber le noir pour une couleur plus proche du dessin original (vert, dans ta capture par exemple).

D'ailleur, partant de G. Doré et de la technique de gravure en taille douce, il serait peut-être intéressant de remplacer tes points par des traits. Cela donnerait un "mouvement" au dessin.

Mais je ne connais pas d'algo pour faire ça. Ca reste à inventer. Ce serait plus de l'Art que de l'Info... Mais pourquoi pas?  ;)

signaler à un administrateur
Commentaire de Malkuth le 30/03/2008 11:07:50

Petite demande: je suis a la recherche d'un algorythme de redimensionnement type Bicubique de bonne qualité, vous me direz qu'il éxiste les fonctions .Net de redimensionnement qui fonctionne trés bien, seulement voilà, je suis convaincue quelle peuvent être grandement optimisé dans le cas d'image en noir & blanc (vers une sortie en niveau de gris). mon problème étant que je n'est pas trouvé un seul site qui pouvais m'expliqué l'algo de maniére "simple", on trouve beaucoup d'explication mathématique (auquel je ne pige pas grand chose :'( ) et aucune explication Algorythmique...

Si ca tente quelqu'un de se penché dessus ou si vous avez un site "le bicubique pour les (gros) nuls (en math)"...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Matrice triangulaire, Equation [ par ryadus ] Salut,j'aimerai savoir si quelqu'un pourrais m'aider sur ça,je voudrais resoudre un systeme Ax=bA etant une matrice triangulaire, x un vecteur et b un Tableau / Matrice [ par yoghisan ] Bonjour,Voila, comme la plupart des gens ici. J'utilise des tableaux pour stocker des données du styleMonTableau:array(0..9,0..9) of double;<b Stocker des vecteurs dans une matrice [ par abidcha ] Bonjour,J'aimerai savoir comment stocker des vecteurs (array) dans un autre array.Merci abidcha Initialisation d'une matrice à 0 [ par SH ] BonjourMa question porte sur l'initialisation d'une matrice.Supposons par exemple une matrice d'entier à 2 dimensions, et qu'il y a des cases qui cont comment extraire les coefficients d'une matrice 3x3 [ par colorid ] Bonjour à tous, On posséde 6 séries (X,Y,Z,A,B,C) de N nombres (N&gt;3 peut attiendre plusieurs dizaines) Exemple XYZ,ABC: array of array[0..2] of dou DEBUTANT CHERCHE AIDE [ par malhivertman1 ] En fait, je dois effectuer un projet pour ma fin d'ann&#233; et je ni compren rien du toutAlors il s'agit de concevoir un programme qui recherche le c cherche code source pour calcul de valeur propres d'une matrice [ par bo_sofien ] SalutVoila;j'ai besoin d'un code source qui fait le calcule des valeurs propres d'une matrice,j'ai cherche sur le net mais je n'ai pas trouve quelque Inverser une matrice [ par m_cyril1 ] Dans mon programme je dois inverser une matrice 6x6 Il faut que le calcul soit le plus pr&#233;cis possible donc la m&#233;thode du pivot de Gauss est Remplir une matrice [ par violent_ken ] Violent KenSalut &#224; tous !J'aurais une question : comment remplir une matrice de valeurs particuli&#232;res ?En fait,&nbsp; j'aimerais pourvoir &# Optimisation de code [ par dapst ] Bonjour,je développe actuellement un projet pour mon école et je suis donc débutant.Nous développons du pascal sous Lazarus.Alors voila ma question :


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,515 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.