Filtre de sobel

Signaler
Messages postés
2
Date d'inscription
mardi 15 juillet 2008
Statut
Membre
Dernière intervention
2 octobre 2009
-
souhila33
Messages postés
3
Date d'inscription
lundi 7 mai 2012
Statut
Membre
Dernière intervention
22 mai 2012
-
Bonjour,
J'ai besoin d'un programme en C d'un filtre de sobel ou d'un autre pour pouvoir l'exploiter dans un autre logiciel.
Merci

7 réponses

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
Salut
Tu peux regarder dans mes sources ou sur mon site internet. Tu trouveras beaucoup d'exemple de filtre dont celui de Sobel
A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
Messages postés
8
Date d'inscription
lundi 7 septembre 2009
Statut
Membre
Dernière intervention
20 octobre 2009

merci bcp
Messages postés
3
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
4 juin 2011

salut
J'ai besoin d'un programme en builder c++ d'un filtre de sobel d'un image binaire pour appliquer le descripteur (moments de hu).
je voire le code source en c mais avec opencv
et dans le builder c++ ne peut pas intégrer le open cv
Merci
Messages postés
3
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
21 juin 2011

Bonjour,

Moi j'ai besoin d'un programme Matlab d'un filtre de sobel d'une image grayscal pour appliquer le descripteur (moments de hu).

aidez moi SVP

Merci
Messages postés
3
Date d'inscription
lundi 7 mai 2012
Statut
Membre
Dernière intervention
22 mai 2012

salut
J'ai besoin d'un programme en builder c++ d'un croissance de région d'une image pour mon projet de fin d'étude svp aider moi
Merci d'avance
Messages postés
1
Date d'inscription
vendredi 25 décembre 2009
Statut
Membre
Dernière intervention
17 mai 2012

salam..

pour le code source de filtre de Sobel avec le C++Builder6 est le:


//calcul le gradient Robert://Image1 est l'img à traiter

BYTE R,G,B;
long gx,ggx,g,gg,gy,ggy,x,xx,y,yy,s,ss;

for(int i=1;iPicture->Width;i++){

for(int j=1;jPicture->Height;j++){

//dérivé en x:

/*
R=abs(GetRValue(Image1->Canvas->Pixels[i][j])-GetRValue(Image1->Canvas->Pixels[i-1][j]));
G=abs(GetGValue(Image1->Canvas->Pixels[i][j])-GetGValue(Image1->Canvas->Pixels[i-1][j]));
B=abs(GetBValue(Image1->Canvas->Pixels[i][j])-GetBValue(Image1->Canvas->Pixels[i-1][j]));
*/

gx=abs(Image1->Canvas->Pixels[i][j]-Image1->Canvas->Pixels[i-1][j]);

//dérivé en y:

/*
R=abs(GetRValue(Image1->Canvas->Pixels[i][j])-GetRValue(Image1->Canvas->Pixels[i][j-1]));
G=abs(GetGValue(Image1->Canvas->Pixels[i][j])-GetGValue(Image1->Canvas->Pixels[i][j-1]));
B=abs(GetBValue(Image1->Canvas->Pixels[i][j])-GetBValue(Image1->Canvas->Pixels[i][j-1]));
*/

gy=abs(Image1->Canvas->Pixels[i][j]-Image1->Canvas->Pixels[i][j-1]);
g=gx+gy;

Image2->Canvas->Pixels[i][j]=RGB(g,g,g);

}}




//Sobel sans binarisation:

for(int i=1;iPicture->Width-1;i++){

for(int j=1;jPicture->Height-1;j++){



x=abs(-(Image2->Canvas->Pixels[i-1][j-1])+
(Image2->Canvas->Pixels[i+1][j-1])-
(Image2->Canvas->Pixels[i-1][j])+
(Image2->Canvas->Pixels[i+1][j]) -
(Image2->Canvas->Pixels[i-1][j+1])+
(Image2->Canvas->Pixels[i+1][j+1]));





y=abs(-(Image2->Canvas->Pixels[i-1][j-1])-
(Image2->Canvas->Pixels[i][j-1])-
(Image2->Canvas->Pixels[i+1][j-1])+
(Image2->Canvas->Pixels[i-1][j+1])+

(Image2->Canvas->Pixels[i][j+1])+
(Image2->Canvas->Pixels[i+1][j+1]));

s=(x+y);

// amplitude
Image3->Canvas->Pixels[i][j]=RGB(s,s,s);

}}



//sobel avec binaraisation:




int min=255,max=2;

//trouve le min et le max:

for(int i=1;iPicture->Width;i++){

for(int j=1;jPicture->Height;j++){

if(Image3->Canvas->Pixels[i][j]<min){
min=Image3->Canvas->Pixels[i][j] ;}

if(Image3->Canvas->Pixels[i][j]>max){
max=Image3->Canvas->Pixels[i][j];}
}}

int seuil=(min+max)/4;
Messages postés
3
Date d'inscription
lundi 7 mai 2012
Statut
Membre
Dernière intervention
22 mai 2012

merci infénément
j'ai besoin aussi d'un programme de croissance de region
L'algorithme se compose de deux étapes:
1. Trouver le point de départ de région c 'est-a-dire germe initial(Phase d'initialisation )
2. Faire grossir la région par agglomération des pixels voisins,( Phase itérative )
s'il vous plez aide moi j'ai besoin d'un code source en c++ merci bq