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 :

Comment redimensionner une image pour l'aditionner à une autre image plus grande ?


Sujet :

Images

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 99
    Points : 77
    Points
    77
    Par défaut Comment redimensionner une image pour l'aditionner à une autre image plus grande ?
    Bonjour,

    J'aurais aimé savoir s'il était possible de copier une image de taille x,y dans une image de taille x' y' avec x'>x et y'>y ?

    J'ai une petite image que j'aimerais redimensionner en plus grand en fait.
    Donc ce que j'ai fait, c'est essayer de copier cette image dans une image plus grande, mais ça marche pas parce que, justement, les images ne sont pas de même dimension.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
        BlanckImage=zeros(NewOrdinate,NewAbscissa);
        FirstImage=zeros(OrdinateFirstImage,AbscissaFirstImage)
        y=1:OrdinateFirstImage 
        x=1:AbscissaFirstImage 
        [R,C] = find((FirstImage(y,x)>0));
        FirstImage1=(FirstImage(R,C) + BlanckImage);
    J'essaye de ne copier dans la grande image (BlanckImage), uniquement les parties dont l'intensité n'est pas nulle.

    Merci d'avance.
    Thomas

  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 309
    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 309
    Points : 52 901
    Points
    52 901
    Par défaut
    Serait-il possible d'avoir un (petit) exemple avec des valeurs numériques (de tailles réduites) ?

    Car il arrive souvent que ce ne soit pas un problème de programmation mais plutôt d'algorithme.

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 99
    Points : 77
    Points
    77
    Par défaut
    Bien sur,

    Voici mes 2 images que j'aimerai aditionner.



    La première est une matrice de 382 par 511, la seconde une matrice de 602 par 550.
    La seconde étant plus grande, je pensais aggrandir la première au format de la seconde. En utilisant une loop, j'arrive a le faire, mais c'est énormément long car cette image est l'une des plus ptite que j'ai. C'est pourquoi je ne peux pas me permettre de passer par les loop pour cette méthode.

    Merci beaucoup de votre aide.
    Thomas

  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 309
    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 309
    Points : 52 901
    Points
    52 901
    Par défaut
    Bonjour,

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    % Petite image
    small=rand(382,511);
     
    % Grosse image
    big=[zeros(100,550) 
        [small zeros(382,39)]
         zeros(120,550)];
     
    figure
     
    subplot(2,2,1)
    imagesc(small)
    axis image
    title('small')
     
    subplot(2,2,2)
    imagesc(big)
    axis image
    title('big')
     
    % Recherche des indices des lignes contenant au moins un pixel non noir
    idx_r=find(any(big,2)); 
    % Recherche des indices des colonnes contenant au moins un pixel non noir
    idx_c=find(any(big));
     
    % Création de la table des pixels correspondant
    [r,c]=meshgrid(idx_r,idx_c);
     
    % Passage en indexage linéaire
    idx=sub2ind(size(big),r(:),c(:));
     
    % Création de la nouvelle image
    new_small=zeros(size(big));
     
    % Ajout de la petite image dans la nouvelle
    new_small(idx)=small';
     
    subplot(2,2,3)
    imagesc(new_small)
    axis image
    title('new small')
     
    % Vérification: si OK tout les pixels sont à 0
    subplot(2,2,4)
    imagesc(new_small-big)
    axis image
    title('new small-big')

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 99
    Points : 77
    Points
    77
    Par défaut
    Wahou,
    je te remercie, je vais essayer d'implémenter ca. Je ne pensais pas qu'il fallait autant d'étapes.
    Je vais essayer de le comprendre d'abord.

    Merci beaucoup
    Thomas

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/10/2010, 10h15
  2. Réponses: 11
    Dernier message: 09/01/2007, 17h46
  3. [Vulcan.Net] Choix d'une image pour un menu, une fenêtre, etc.
    Par JYves dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 17/08/2006, 16h42
  4. Réponses: 8
    Dernier message: 20/07/2006, 00h23
  5. [FLASH 5]un bouton dans une image pour revenir sur une scene
    Par patato valdes dans le forum Flash
    Réponses: 7
    Dernier message: 28/04/2004, 20h21

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