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

C# Discussion :

Traitement Image AForge


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Par défaut Traitement Image AForge
    Bonjour,

    Je suis entrain de faire un programme qui devrait ressembler à Office Lens : Lien Office Lens

    J'utilise la librairie de traitement AForge: Lien AForge

    Et j'aimerais utilisé cette classe la: DocumentSkewChecker

    Comme indique le site, cela permet de tourner une image de type Bitmap. En reprenant l'exemple de DocumentSkewChecker, j'arrive avec une erreur:
    {"Unsupported pixel format of the source image."}

    L'erreur vient sur la ligne du double angle (voici le code):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private void resultat_2_Drop(object sender, DragEventArgs e)
            {
                foreach(String pic in ((String[])e.Data.GetData(DataFormats.FileDrop)))
                {
                    Bitmap image = new Bitmap(pic);
                    DocumentSkewChecker skewChecker = new DocumentSkewChecker();
                    double angle = skewChecker.GetSkewAngle(image);
                    RotateBilinear rotationFilter = new RotateBilinear(-angle);
                    rotationFilter.FillColor = Color.White;
                    Bitmap rotatedImage = rotationFilter.Apply(image);
                }
            }
    Est-ce que quelqu'un pourrait m'aider ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    Bonjour

    l'exception que tu reçois vient pour moi du format de ton image qui ne doit pas être dans un format supporté par AForge. Genre image en xx bits alors que AForge demande
    une image en yy bits par exemple.

    Il faut peut-être utilisé un converter pour obtenir ton image dans le bon format... regardes sur les forums AForge et sur les exemples AForge. Parfois, on y trouve cette information

  3. #3
    Membre actif Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Par défaut
    Merci de ta réponse,

    Alors voilà, j'ai pu trouvé quelque chose dans le forum d'AForge: Lien

    Et maintenant, ça fonctionne. Voici mon code pour ceux qui sont intéressés :

    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
    private void resultat_2_Drop(object sender, DragEventArgs e)
            {
                Rectangle rec; 
                foreach(String pic in ((String[])e.Data.GetData(DataFormats.FileDrop)))
                {
                    Bitmap image = new Bitmap(pic);
                    Bitmap image2 = Grayscale.CommonAlgorithms.BT709.Apply(image);
                    rec = new Rectangle(0, 0, image2.Width, image2.Height);
                    BitmapData bitmapdata = image2.LockBits(rec, ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed);
                    DocumentSkewChecker skewChecker = new DocumentSkewChecker();
                    double angle = skewChecker.GetSkewAngle(bitmapdata);
                    RotateBilinear rotationFilter = new RotateBilinear(-angle);
                    rotationFilter.FillColor = Color.White;
                    Bitmap rotatedImage = rotationFilter.Apply(bitmapdata);
                    image2.UnlockBits(bitmapdata);
                    resultat_2.Source = Bitmap2BitmapImage(rotatedImage);
                }
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. traitement image cvimage
    Par croc14 dans le forum MFC
    Réponses: 15
    Dernier message: 24/05/2006, 11h32
  2. [ETUDES] Traitement images ou intelligence artificielle ?
    Par green_castor dans le forum Etudes
    Réponses: 9
    Dernier message: 29/11/2005, 13h01
  3. traitement image
    Par Feanorin dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 20/06/2005, 17h01
  4. Réponses: 5
    Dernier message: 25/12/2004, 23h17

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