Les matrices

pirate75000 Messages postés 55 Date d'inscription lundi 23 octobre 2000 Statut Membre Dernière intervention 6 août 2006 - 19 juil. 2003 à 09:52
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011 - 26 mars 2011 à 10:41
Comment créer une matrice a partir d'une image bmp,
je pense que pour recréer le fichier bmp a partir d'une matrice on fait l'opération inverse

le but etant de réaliser des inversion video des flip H/V
travailler le lumiere/contranste,
ainsi que des matrices de convolution gauss, ect..

Merci

3 réponses

sidra12 Messages postés 3 Date d'inscription mardi 3 février 2009 Statut Membre Dernière intervention 16 avril 2009
16 avril 2009 à 18:02
bonjour , tu peux m'indiquer comment je peux convertir une image à une matrice de pixels ou plutot matrice de luminance av C, je travail sur  un projet de traitement d'image  je dois effectuer pa mal d'opération sur les image et j'ai l'idée de les traiter comme des matrices merci en avance
0
cs_AMSOLL Messages postés 8 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 13 mars 2011
28 déc. 2009 à 12:38
bj
voila une procédure de représentation d'une image bmp par une matrice de pixels,mais en niveau de gris,il suffit de prendre la valeur d'une seule couleur de chaque pixel(puisque le R , le V, et le R sont égaux);

int nw=bmp.Height;
int nl = bmp.Width;

for(int i = 0; i< nl ; i++)
{ Line = (jPixel*)pBitmap->ScanLine[i];
for(int j = 0; j < nw; j++)
{ xp=Line[j].Red;
x1=(double)xp;
Mat[i][j]=x1;
}
}
0
raikko21 Messages postés 33 Date d'inscription jeudi 30 septembre 2010 Statut Membre Dernière intervention 24 novembre 2011
26 mars 2011 à 10:41
Salut tlm!!
Ben moi j'utilise visual C++ et pour récupérer la matrice d'une image bmp j'utilise GetPixel comme suit:

for (int i=0; i<320; i++)
{
for(int j=0; j<240; j++)
{
R=image->GetPixel(i,j).R;
G=image->GetPixel(i,j).G;
B=image->GetPixel(i,j).B;
if (R==0 && G==0 && B==0)
{
Matrice[i][j]=0;
}
else
{
y=(0.59*G+0.30*R+0.11*B)/255;
Matrice[i][j]=y;
}
}
}

Matrice[i][j] contient les valeurs de l'intensité lumineuse (luminosité) de chaque pixel. (j'ai suppose une image bmp 320x240)

Pour faire le chemin inverse(matrice en image bmp)

for (int i=0; i<320; i++)
{
for (int j=0; j<240; j++)
{
image->SetPixel(i, j, Color::FromArgb(alpha, R, G, B));
}
}

Voila je suis nouveau ici je sais pas si j'ai bien explique mais je vous conseille vivement de voir:
http://www.c-sharpcorner.com/UploadFile/hscream/ImagetoBinary02132007164649PM/ImagetoBinary.aspx
C'est explique en détail
0
Rejoignez-nous