MISE EN NOIR ET BLANC D'UNE TIMAGE

Utilisateur anonyme - 6 juil. 2002 à 19:13
arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009 - 31 mars 2009 à 14:38
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/11682-mise-en-noir-et-blanc-d-une-timage

arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009
31 mars 2009 à 14:38
oki je te remercie :)
Utilisateur anonyme
31 mars 2009 à 14:14
oui le forum ;)

poste tes questions sur le forum parce qu'ici tu auras très peut de chances d'avoir une réponse !!!!
arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009
31 mars 2009 à 14:07
Voila j'ai réussi à mettre mon image en noir et blanc sans aucun soucil.
Meric pour votre aide.

procedure TForm1.BiChromieClick(Sender: TObject);
Const
seuil=128;
filtrage=$ffffff; //blanc
Var
x,y,A,B:word;
begin
x:=A+1;
x:=B-1;
for x:=0 to image1.picture.width-1 do
begin

for y:=0 to image1.picture.Height-1 do
begin
if image1.Picture.Bitmap.Canvas.Pixels [x,y]and $ff>seuil then
image1.Picture.Bitmap.Canvas.Pixels [x,y]:=$ffffff else image1.Picture.Bitmap.Canvas.Pixels [x,y]:=$000000;

end;
end;

end;


Lol maintenant il faudrait que grâce à mon image noir et blanc je trouve le centre de gravité de l'image en utilisant le calcul des moments géométriques. Et aussi, complétement à part, que je mette dans un afficheur la luminosité moyenne de l'image
Lol dure la première semaine à faire du DELPHI :s

Une idée ? lol
Utilisateur anonyme
31 mars 2009 à 11:47
c'est pas un problème cliques sur UTramage.pas et tu pourras visualiser le code et faire un copier coller au pire
arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009
31 mars 2009 à 11:19
j'y ai déjà été, mais malheureusement, avec l'ordi qu'il m'ont filé sur mon lieu de stage je ne peux rien dlw... donc je ne peux pas accéder au ligne du code...
Merci quand même Cirec.
arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009
31 mars 2009 à 10:21
Yes !!! maintenant mon image est bien tramer en noir et blanc MAIS lol :(
il y a de multiples pixels blanc comme si mon image n'était pas propre
par exemple j'ai une image toute noire avec un cercle blanc dessus et en fait autour du cercle blanc
j'ai une panoplie de petit point blanc :s



voici le nouveau code :


procedure TForm1.BiChromieClick(Sender: TObject);
Const
seuil=128;
Var
x,y:word;
begin

for x:=0 to image1.picture.width do
begin

for y:=0 to image1.picture.Height do
begin
if image1.Picture.Bitmap.Canvas.Pixels [x,y]>seuil then
image1.Picture.Bitmap.Canvas.Pixels [x,y]:=rgb(255,255,255) else image1.Picture.Bitmap.Canvas.Pixels [x,y]:=0;
end;

end;

end;



encore merci pour ton aide Renfield :D c'est super sympa !
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
31 mars 2009 à 09:37
testes le seuil sur la valeur de gris.

et blanc, c'est pas 255
mais rgb(255,255,255)
arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009
31 mars 2009 à 09:02
Donc ca me donnerai en gros ça comme code ?
je dois avoir des erreur ... ca ne marche pas :(



procedure TForm1.BiChromieClick(Sender: TObject);
const
seuil=128;
var
x,y:word;
begin

for x:=0 to image1.picture.width do // pour les x
begin

for y:=0 to image1.picture.height do // pour les y
begin
if image1.Picture.Bitmap.Canvas.Pixels [x,y]>seuil then
image1.Picture.Bitmap.Canvas.Pixels [x,y] =255 else image1.Picture.Bitmap.Canvas.Pixels [x,y]=0;
end;

end;

end;
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
30 mars 2009 à 10:47
c'est exactement la même chose que ce qui t'es proposé ici.

a toi de choisir le seuil a partir duquel une couleur sera représentée en noir, ou en blanc...
arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009
30 mars 2009 à 10:38
quelqu'un aurait un site ou un lien web a me conseiller pour un programme qui permet de mettre une image en NOIR et BLANC et pas en niveau de gris ?
Merci d'avance.
Sinon comme pour ender27, mon image est grossie après la mise en niveau de gris?
arckhenstone Messages postés 19 Date d'inscription lundi 30 mars 2009 Statut Membre Dernière intervention 29 juillet 2009
30 mars 2009 à 09:40
Ton code ne fonctionne pas Balgrim... enfin pas sur ma version DELPHI (j'utilise la 7)
ender27 Messages postés 7 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 2 juin 2008
11 mars 2008 à 11:32
J'ai un problème avec le code de morpheus, car lorsque l'image apparaît dans le TImage numéro2, elle se trouve agrandie par rapport à l'image de départ. Savez-vous d'où vient ce problème?
balgrim Messages postés 52 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 28 octobre 2003
26 oct. 2002 à 21:24
sa doit etre plus rapide...

@ller, bye
Balgrim[oire]
balgrim Messages postés 52 Date d'inscription vendredi 26 avril 2002 Statut Membre Dernière intervention 28 octobre 2003
26 oct. 2002 à 21:23
var
x,y:integer;
pix:dword;
r,g,b:byte;
moyenne:byte;

begin
for x:=1 to image1.picture.width do //on prend une ligne
begin
for y:=1 to image1.picture.height do //les colonnes de cette ligne
begin
pix:=image1.canvas.Pixels[x,y]; //on prend les couleurs RVB
asm
push eax
mov eax,pix
mov r,al
mov g,ah
shr eax,16
mov b,al
pop eax
end;
moyenne:=Byte((r+g+b)/3)
image2.Canvas.pixels[x,y]:=rgb(moyenne,moyenne,moyenne); //ecriture du pixel en N&B a la même place sur l'autre Timage
end;
end;
Utilisateur anonyme
6 juil. 2002 à 19:13
C tres proche des fonctions ecrites en VB ou en C...
si t'a besoin dinstpirations ou d'algorytmes, http://www.vbfrance.com/article.aspx?Val=4800
Rejoignez-nous