IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

Quelle m�thode utiliser pour traiter les images


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 47
    Par d�faut Quelle m�thode utiliser pour traiter les images
    Bonjour
    Je souhaite tester le C++ .net pour faire du traitement d'images
    J'ai essay� les m�thodes Bitmap->getpixel mais c'est beaucoup trop lent.
    J'ai essay� le MemoryStream cit� dans la FAQ mais pour acc�der � l'entete et aux donn�es c'est l'enfer quand on ne connait pas le type d'image/donn�es qu'il y a dedans.
    Alors j'aimerais avoir l'avis d'un pro je r�cup�re donc mon image en Bitmap et je souhaite la mettre dans une structure style
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    image{ 
    **pixRGB
    height
    width
    }
     
    pixRGB{
    unsigned char R,G,B
    }
    mais avec une m�thode tr�s rapide.
    J'ai vu dans le forum que certains utilisent le BitmapData...
    Comment g�rer cette structure ?
    Pour info je souhaite transf�rer un Bitmap vers ma structure, faire mes traitements puis r�injecter ma structure dans le bitmap afin de l'afficher.
    Merci

  2. #2
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    tout d�pend si tu veux utiliser l'api win32 (ce qui est possible avec une appli .net) ou si tu veux etre en manag� pur.

    .net dispose de beaucoup de classe pour g�rer les images, ca devrait te convenir.
    Regarde du cot� de System.Drawing.Graphics, System.Drawing.Bitmap

    Plus pr�cis�ments, tu peux regarder du cot� de System.Drawing.Bitmap.LockBits
    System.Drawing.Graphics.DrawImage

    Mais apr�s, tout d�pend de ce que tu veux faire en "traitement d'image"

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 47
    Par d�faut
    tout d'abord merci pour la r�ponse
    En traitement d'image je souhaite faire du TDI basique (convolution, d�tection de contours, FFT, DCT,...) au d�but puis entamer une phase de d�tection de mouvements(mais aussi d�tection couleur) donc sur une s�quence d'images d'o� l'importance d'un algo rapide.

    J'avais d�j� d�velopp� en SDL sous linux(d�tection, localisation, identification de trous pour le robot E=M6), j'aimerais donc bien r�utiliser ces librairies de fonctions que j'ai d�velopp�es.

    Une autre question :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    BitmapData^ pixelsImage1 = imageBMP->LockBits(Rectangle(0, 0, W, H), ImageLockMode::ReadOnly, PixelFormat::Format24bppRgb);
    PixelFormat::Format24bppRgb : me converti les pixels dans le format d�sir� c'est � dire RGB 24bits c'est juste pour indiquer � la fonction que l'image est en RGB24bits ?
    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    47
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 47
    Par d�faut
    Bon j'ai trouv� mes r�ponses
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    int W =imageBMP->Width, H=imageBMP->Height;
        BitmapData^ bytImage = imageBMP->LockBits(Rectangle(0, 0, W, H), ImageLockMode::ReadOnly, imageBMP->PixelFormat);
        IntPtr ptrImg= bytImage->Scan0;
     
        array<Byte>^rgbValues = gcnew array<Byte>(W*H*3);
        System::Runtime::InteropServices::Marshal::Copy( ptrImg, rgbValues, 0, W*H*3 );
    Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 27/03/2013, 14h20
  2. [Flex4] Quelle m�thode utiliser pour communiquer en HTTP ?
    Par berceker united dans le forum Flex
    R�ponses: 22
    Dernier message: 18/01/2011, 23h46
  3. quelle m�thode utiliser pour la detection de courbe param�trique?
    Par Elodie31 dans le forum Traitement d'images
    R�ponses: 2
    Dernier message: 27/06/2008, 09h43
  4. Quelle m�thode utiliser pour un formulaire
    Par sam01 dans le forum Langage
    R�ponses: 4
    Dernier message: 23/06/2006, 16h42
  5. R�ponses: 4
    Dernier message: 02/05/2006, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo