salut ,
je suis en train d'impl�menter l'algorithme FCM (s�gmentation d'une image) avec VC++ mais j'ai trouv� des difficult�s au niveau de la d�claration des pixels sous forme d'une matrice RGB. Est ce que vous pouvez m'aidez?
Merci
salut ,
je suis en train d'impl�menter l'algorithme FCM (s�gmentation d'une image) avec VC++ mais j'ai trouv� des difficult�s au niveau de la d�claration des pixels sous forme d'une matrice RGB. Est ce que vous pouvez m'aidez?
Merci
Ce n'est pas un seul matrice mais 3 matrices exactement
Matrice pour le bleu
Matrice pour le Rouge
Matrice pour le Vert
Pour le lire � partir d'un pixel la form RGB tu peux utils� les
macros suivantes
Et voila un exmple comment on le lisent
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 b=GetBValue(une_Col); r=GetRValue(une_Col); g=GetGValue(une_Col);
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 void CRouteView::Copiage(CDC *pDC) { CRouteDoc* pDoc = GetDocument(); COLORREF une_Col; BYTE b,r,g,gris; if(pDC != NULL) { CDC dcMem; if(dcMem.CreateCompatibleDC(pDC) == TRUE) { HBITMAP hOldBitmap = (HBITMAP)SelectObject(dcMem.GetSafeHdc(), m_Bm); for(int i=0;i<pDoc->m_Picture.m_Width;i++) { for(int j=0;j<pDoc->m_Picture.m_Height;j++) { une_Col=pDC->GetPixel(i+pDoc->m_Picture.GetCordX(),j+pDoc->m_Picture.GetCordY()); b=GetBValue(une_Col); r=GetRValue(une_Col); g=GetGValue(une_Col); gris=(b+g+r)/3; dcMem.SetPixel(i+pDoc->m_Picture.GetCordX(),j+pDoc->m_Picture.GetCordY(),RGB(gris,gris,gris)); } } SelectObject(dcMem.GetSafeHdc(), hOldBitmap); } } }
Partager