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

Images Discussion :

[imwrite] Enregistrer une image noir et blanc


Sujet :

Images

  1. #1
    Membre habitué Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Points : 143
    Points
    143
    Par défaut [imwrite] Enregistrer une image noir et blanc
    bonsoir;
    je veux enregistrer mon image noir et blac sous format .tif. j'ai utilisé la fonction imwrite, mais ça enregistre l'image en niveau de gris.
    voici mon code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imwrite(k,'c:\test.tif','tif') % k c'est la matrice del'image
    comment je dois procéder pour que mon image soit enregistée sous extention .tiff bitmap.
    d'avance merci.

  2. #2
    Membre régulier Avatar de DocteurV
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 85
    Points : 101
    Points
    101
    Par défaut
    Je ne suis pas sur de bien comprendre ton problème..
    Tu as une matrice noir&blanc (ie: binaire) et quand tu l'enregistres en tiff tu obtiens une image en niveaux de gris? Ca me semble un peu dingue...

    Peux-tu détailler un peu ta question?

  3. #3
    Membre habitué Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Points : 143
    Points
    143
    Par défaut
    ok, je détaille, voici ma fonction :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    function test_normalization % augmente la taille de l'image n ajoutant des pixels blanc
    I=imread('C:\1.tif'); % je vais travailler sur cette image, je l'ai attaché 
    [x,y]=size(I);
    % rendre paire les dimentions de l'image
    if(mod(x,2)~=0)
        I(x+1,:)=0;
        x=x+1;
    end
    if(mod(y,2)~=0)
        I(:,y+1)=0;
        y=y+1;
    end
    dx=1510-x;
    dy=1760-y;
    for i=1:1510
        for j=1:1760
            if(i<=dx/2)
                k(i,j)=1;
            end
            if(i>dx/2+x)
                k(i,j)=1;
            end
            if(j<=dy/2)
                k(i,j)=1;
            end
            if(j>dy/2+x)
                k(i,j)=1;
            end
     
        end
    end
    k(dx/2+1:dx/2+x,dy/2+1:dy/2+y)=I(1:x,1:y);
    figure;
    imshow(k);
    imwrite(k,'c:\k.tif','tif')% enregistre l'image k dasn le fichier, je l'ai attaché.
    comme vous pouvez le remarquer mon image k devient en niveau de gris et moi je veux que ça reste binaire tel qu'il était dasn l'image initiale I
    Fichiers attachés Fichiers attachés

  4. #4
    Membre régulier Avatar de DocteurV
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 85
    Points : 101
    Points
    101
    Par défaut
    Je ne vois pas le problème...

    l'image k.tif de ton archive est bel et bien une image binaire. D'autre part, j'ai exécuté ton code et j'obtiens aussi une image binaire. Peut-être que quelqu'un d'autre pourrait vérifier pour en avoir le coeur net.

    En attendant, j'aimerais savoir ce que tu entends exactement par : "mon image k devient en niveau de gris". Parce-que je ne vois pas comment une image binaire peut "spontanément" passer en niveaux de gris.

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Salut,

    en fait la seule chose qui change entre le k et le I, c'est le format des données :
    I contient des valeurs logiques
    k contient des doubles

    donc avec imwrite, quand tu enregistres k, il tient compte du format, c'est pourquoi il transforme les 1 en 255.
    Pour garder les valeurs 0 et 1, tu dois modifier le format de k en faisant un cast :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imwrite(logical(k),'c:\k.tif','tif')
    Par exemple.

    Mais bon comme l'a dit DocteurV, tes images sont bien binaires, il faut juste faire attention aux formats de tes données.

Discussions similaires

  1. [Débutant] lire une image noir est blanc
    Par clynda dans le forum Images
    Réponses: 5
    Dernier message: 13/09/2011, 00h52
  2. Réponses: 4
    Dernier message: 31/10/2010, 04h52
  3. Impossible d'ouvrir une image noir et blanc
    Par k3ops dans le forum OpenCV
    Réponses: 4
    Dernier message: 19/06/2008, 17h33
  4. Réponses: 3
    Dernier message: 11/03/2008, 11h40
  5. extraire une image noir et blanc noyé dans de la couleur
    Par gronaze dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 18/07/2006, 19h30

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