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 :

[blkproc] Utilisation sur des images couleur


Sujet :

Images

  1. #1
    Membre régulier Avatar de Imène_23
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38

    Informations forums :
    Inscription : Avril 2009
    Messages : 275
    Points : 102
    Points
    102
    Par défaut [blkproc] Utilisation sur des images couleur
    bonsoir
    Je veux utiliser la fonction blkproc pour traiter une image en blocs, la syntaxe dit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    B = blkproc(A,[m n],fun)
    j'ai essayé mais j'ai eu deux problèmes:
    - comment faire passer les paramétres à la fonction "fun" ?
    - mon image fait 481 par 321, et je veux travailler sur des blocs de 10 par 10 j'aurai tjr donc un pixel de trop dans le dernier bloc ?

    éclairez moi svp!!
    merciiiiiiiiiii

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Citation Envoyé par Imène_23 Voir le message
    - comment faire passer les paramétres à la fonction "fun" ?
    Il est possible d'utiliser une fonction anonyme
    Voir la FAQ : Que représente le symbole @ ?

    Citation Envoyé par Imène_23 Voir le message
    - mon image fait 481 par 321, et je veux travailler sur des blocs de 10 par 10 j'aurai tjr donc un pixel de trop dans le dernier bloc ?
    Dans les anciennes versions de l'Image Processing Toolbox, blkproc ajoutait des zéros si les derniers blocs à traiter n'étaient pas complets.

    Dans ton cas, il faut savoir si ces pixels situés en bordure ont un réel intérêt

    Si ce n'est pas le cas, il suffit par exemple de ne pas les passer à blkproc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    B = blkproc(A(1:480,1:320),[m n],fun)

  3. #3
    Membre régulier Avatar de Imène_23
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38

    Informations forums :
    Inscription : Avril 2009
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    Merci Dur pour ta réponse, donc ca marche qu'en 2D, et le 3D ? par exemple dans le cas d'une image RGB ??

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Quelle(s) opération(s) cherches-tu à appliquer à chaque bloc de ton image ?

  5. #5
    Membre régulier Avatar de Imène_23
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38

    Informations forums :
    Inscription : Avril 2009
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par Dut Voir le message
    Quelle(s) opération(s) cherches-tu à appliquer à chaque bloc de ton image ?
    Sur chaque bloc je veux:
    - calculer la moyenne des couleurs RGB.
    - sortir l'histogramme rouge, vert, et bleu de chaque bloc.

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Citation Envoyé par Imène_23 Voir le message
    - calculer la moyenne des couleurs RGB.
    Si par "moyenne", tu entends "moyenne par composante", tu peux le faire composante par composante comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    I = imread('peppers.png');
     
    fun = @(x) mean(x(:));
     
    mI = blkproc(I(:,:,1),[8 8],fun);
    mI(:,:,2) = blkproc(I(:,:,2),[8 8],fun);
    mI(:,:,3) = blkproc(I(:,:,3),[8 8],fun);
     
    mI = uint8(mI);
     
    figure
    image(mI)
    axis image
    ou encore plus simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mI = blkproc(I(:,:,1),[8 8],@mean2);
    mI(:,:,2) = blkproc(I(:,:,2),[8 8],@mean2);
    mI(:,:,3) = blkproc(I(:,:,3),[8 8],@mean2);
    Citation Envoyé par Imène_23 Voir le message
    - sortir l'histogramme rouge, vert, et bleu de chaque bloc.
    Tu ne peux pas utiliser la fonction blkproc dans ce cas. Tu as deux solutions.

    Soit tu utilises deux boucles for-end imbriquées et plusieurs appels à la fonction histc

    Soit tu transformes la matrice initiale en une matrice pour chaque composante dont chaque colonne contient les valeurs de chaque bloc (avec im2col, la transposée et reshape) et tu ne fais appel qu'une seule fois à histc.

  7. #7
    Membre régulier Avatar de Imène_23
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38

    Informations forums :
    Inscription : Avril 2009
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    Merci beacoup Dut,
    Juste un truc pour redimensionner mon image en 480*320, ca marche dans le cas d'une image à niveau de gris mais dans le cas de RGB je fait comment ??

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Pour ne pas tenir compte des derniers pixels, tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mI = blkproc(I(1:end-1,1:end-1,1),[8 8],@mean2);
    mI(:,:,2) = blkproc(I(1:end-1,1:end-1,2),[8 8],@mean2);
    mI(:,:,3) = blkproc(I(1:end-1,1:end-1,3),[8 8],@mean2);

  9. #9
    Membre régulier Avatar de Imène_23
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38

    Informations forums :
    Inscription : Avril 2009
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    Un graaand merci

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

Discussions similaires

  1. utiliser jQuery pour des area sur des images
    Par thor76160 dans le forum jQuery
    Réponses: 11
    Dernier message: 09/09/2010, 12h01
  2. [imfill] Utilisation sur des images 3D
    Par Vincnt dans le forum Images
    Réponses: 1
    Dernier message: 01/08/2010, 10h41
  3. Utilisation des propriétés CSS de menu sur des images
    Par stefsas dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/05/2010, 20h18
  4. des traitement sur une image couleur
    Par Sarah! dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 28/05/2008, 15h14
  5. Utiliser JOGL + shader pour des effets sur des images 2D.
    Par nouknouk dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 19/12/2007, 10h46

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