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

Windows Presentation Foundation Discussion :

Perte de qualité à l'enregistrement d'une BitmapSource en fichier image


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Par défaut Perte de qualité à l'enregistrement d'une BitmapSource en fichier image
    Bonjour.

    J'ai travaillé dans mon logiciel sur une partie d'acquisition d'image TWAIN.
    Je scanne, récupère et affiche correctement mes images (en BitmapSource). Enregistrées en variables, toutes sont de ce format.

    Mon problème est que par la suite, elles doivent être enregistrées en fichiers. Actuellement en PNG. J'ai constaté que entre une image en variable affichée et celle enregistrée par la suite en png, il y a une perte de qualité assez importante. Même vers du BMP, j'ai la même perte.

    Voici mon dernier code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    using (FileStream stream = new FileStream(monUrl, FileMode.CreateNew))
    {
        PngBitmapEncoder encoder = new PngBitmapEncoder();
        encoder.Interlace = PngInterlaceOption.Off;
        encoder.Frames.Add(BitmapFrame.Create(monBitmapSource));
        encoder.Save(stream);
    }
    J'ai aussi testé de passer par un FormatConvertedBitmap, le résultat est toujours le même (malgré un poids du fichier légèrement différent)

    Merci pour votre aide

  2. #2
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Bonjour.

    Je présume qu'il s'agit d'un problème de conversion de couleurs. Quel est le format de l'image reçue depuis le scanner ? Et quel type de dégradation observes-tu (une petite image comparaison entre une copie d'écran et le fichier sauvegardé serait utile) ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Par défaut
    Malheureusement je n'ai pas clichés. Les test réalisés en interne ne présentaient pas ce défaut. C'est un client testant pour nous le logiciel qui a reporté le problème et pour un soucis de confidentialité je ne peux pas lui demander.
    Indication : les fichiers sont en 1050 x 1580 et le problème est fortement visible sur les zones sombres (pas de bol le clients n'a que cela )

    La perte de qualité ressemblerai presque à une conversion JPEG. Compression trop importante.
    J'ai pensé à passer par ma propre BitmapPalette mais toujours rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BitmapPalette p = new BitmapPalette(monBitmapSource, 255)

  4. #4
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Je crois savoir ce qui se passe.
    Le client travaille dans un domaine graphique/impression, ou du moins est équipé avec du bon matériel. Et à l'écran un dégradé sombre apparaît comme il se doit alors qu'après l'enregistrement on distingue des bandes de couleur. J'ai gagné ?

    Dans ce cas la réponse est simple : le scanner et l'écran utilisent des couleurs sur 10 à 16 bits par canal, alors que le format PNG ne supporte que 8 bits au maximum. Et un dégradé sur un faible intervalle en 8 bits par canal laisse apparaître des bandes (exemple : dégradé entre #000000 et #202020, 32 couleurs possibles uniquement sur cet intervalle, bandes clairement visibles s'il est étalé sur 100+ pixels). La seule solution est d'enregistrer dans un autre format, supportant des couleurs plus profondes, comme le tiff.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2010
    Messages : 188
    Par défaut
    Merci DonQuiche, ta dernière réponse m'a mis sur la voie.

    Dans mon premier code, celui en production, j'ai fait l’énorme erreur de forcer le format de pixel.
    Les tests suivants (code du premier message compris) sont corrects, mais aucun moyen de le savoir étant donné que je n'avais pas de matériel suffisant pour des tests poussés. Un simple scanner envoie des images avec un bon gros format de pixel

    Pour faire faire simple, mon appareil de Twain renvoi des images avec un format de pixel Gray8, et en voulant les enregistrer dans une qualité supérieur, le traitement fait que je pers de la qualité.

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

Discussions similaires

  1. [Débutant] Afficher sur une succession de fichiers images .tif une mesure de force
    Par afortiori dans le forum MATLAB
    Réponses: 48
    Dernier message: 23/07/2010, 16h15
  2. [WD-2003] Perte de qualité lors de l'insertion d'une image
    Par dacid dans le forum VBA Word
    Réponses: 2
    Dernier message: 08/06/2009, 10h18
  3. Réponses: 3
    Dernier message: 16/01/2009, 15h30
  4. une GUI sans fichiers image
    Par Katian dans le forum API graphiques
    Réponses: 3
    Dernier message: 25/12/2008, 10h26
  5. [GD] Perte de qualité lors de la superposition de 2 petites images sur une autre
    Par angebleu1759 dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 04/12/2007, 16h46

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