Svp aider moi en traitement d'image

Signaler
Messages postés
9
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
21 juin 2008
-
Messages postés
9
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
21 juin 2008
-
bonjour
svp je cherche  le code source en c++ pour faire la direction d'une route 
mon projet est dans le traiterment d'image (la detection semi automatique d'une route )utilisant le filtre de sobel.
je vous informez mes amis que j'ai le code en matlab mais j'ai pas trouver les fonctions ou un logiciel qui trensforme du matlab au builder
je serais contante si vous me réponds
merci d'avance
                   Fatima 

5 réponses

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
Salut
Regarde dans mes sources, tu trouvera sans doute ton bonheur:
http://www.cppfrance.com/codes/DETECTION-OPTIMALE-CONTOURS-CANNY-DERICHE-SHENCASTAN_45999.aspx
Tu va detecter la route avec un unique filtre de Sobel?

Et autre chose transformer du code Matlab (m file )en C ou C++ c'est a toi de le faire. Mais bon c'est vraiment pas ce qui est le plus difficile

A+
Mon site internet : http://pistol.petesampras.free.fr
Messages postés
9
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
21 juin 2008

bonjour
j'ai besoin  d'un code source en c++ qui fait le calcule de la direction de chaque pixel dans une image satellitaire
la fonction pour le calcule    f=atan(y/x)
tel que    y:le gradient vertical   et x :le gradient horizontale
merci
Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
Salut
Je t'assure que tu trouveras tout ce que tu cherches en cherchant bien dans mes sources.
(Regarde Canny et sobel optimisé)

A+
Mon site internet : http://pistol.petesampras.free.fr
Messages postés
9
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
21 juin 2008

bonjour
c'est bon j'ai trouver la solution que j'etais entrain de chercher
je vous donne cette solution pour tu me comprend
direction---------------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
//for(i=0;i<x;i++)
//{
    //for(j=0;j<y;j++)
     // {
       // sx=(Image_originale->Canvas->Pixels[i-1][j-1]-Image_originale->Canvas->Pixels[i+1][j-1])+2*(Image_originale->Canvas->Pixels[i-1][j] - Image_originale->Canvas->Pixels[i+1][j])+(Image_originale->Canvas->Pixels[i-1][j+1]- Image_originale->Canvas->Pixels[i+1][j+1]);

       // sy=(Image_originale->Canvas->Pixels[i-1][j-1]- Image_originale->Canvas->Pixels[i-1][j+1])+2*(Image_originale->Canvas->Pixels[i][j-1] - Image_originale->Canvas->Pixels[i][j+1])+(Image_originale->Canvas->Pixels[i+1][j-1]- Image_originale->Canvas->Pixels[i+1][j+1]);

       // if(sx==0)
        //{
         //   s=90;
           // co[j][i]=s;
        //}
       // else
       // {
          //  s=atan((float)sy/(float)sx);
         //   co[j][i]=s*180./3.14;
        //}

       // ny->Cells[i][j]=co[j][i];
   // }
//}
//float sx,sy,ss;
//float ss;
 for(i=0;i<x;i++)
{
    for(j=0;j<y;j++)
      {
sx=(Image_traite->Canvas->Pixels[i-1][j-1]-Image_traite->Canvas->Pixels[i+1][j-1])+2*(Image_traite->Canvas->Pixels[i-1][j] - Image_traite->Canvas->Pixels[i+1][j])+(Image_traite->Canvas->Pixels[i-1][j+1]- Image_traite->Canvas->Pixels[i+1][j+1]);

sy=(Image_traite->Canvas->Pixels[i-1][j-1]- Image_traite->Canvas->Pixels[i-1][j+1])+2*(Image_traite->Canvas->Pixels[i][j-1] - Image_traite->Canvas->Pixels[i][j+1])+(Image_traite->Canvas->Pixels[i+1][j-1]- Image_traite->Canvas->Pixels[i+1][j+1]);

       if(sx==0 && sy>0 )
        {
            ss=90;
            co[j][i]=ss;
        }
       else if (sx==0 && sy<0 )
        {
            ss=-90;
            co[j][i]=ss;
        }

       //else if (sy<0 && sx<0 || sy>0 && sx>0)
       else
       {
        s=atan(sy/sx);

       if   ( sy>0 && sx<0)
                {

                ss= 180+(s*(180/3.14));
                co[j][i]=ss;
                }
     else  if ( sy<0 && sx>0)
                {

            ss= -(s*(180/3.14));
            co[j][i]=ss;
                }
      else  if (sy<0 && sx<0)
                {
        s=atan(sy/sx);
        ss= (s*(180/3.14))-180;
        co[j][i]=ss;
                }

        }
        //}
        ny->Cells[i][j]=co[j][i];
        }
        }
        }
c'est ca
en tout les cas merci   
Messages postés
9
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
21 juin 2008

bonjour
je cherche comment créer une fénaitre virtuelle da chaque pixel pour savoir toute les direction de ce pixel
c a d : moi j'ai fait la direction de chaque pixel  ,dans mon projet de detection de contours :
 le 0(zéro) veut dire que ce point n'appartien pas e a la route
le 1(un) veut dire que ce pixel appartien a la route
et la route a au minimum 5pixel et au maximmum 15pixel
veu dire: en cherche premierement  dans toute les direstions de chaque pixel si il ya 5pixel succssives ayant la valeur 1 donc en prend ce point et si il ya moins de 5pixel donc en prend pas ce pixel en recherche dans les autres direction de ce pixel
et ca et pour toute l'image
pour faire ca il faut créér une fenaitre virtuelle pour chaque pixel (une matice) qui a des x et des y  je connus pas crrér cette fenaitre
aide moiu svp  j'espére que vous m'avez compris cette fois
merci