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 :

crop image rotate


Sujet :

Images

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Points : 34
    Points
    34
    Par défaut crop image rotate
    Bonjour,

    Je developpe un Guide sous matlab et j'ai besoin de d'extraire un rectangle d'une image.
    La difficultes (si elle existe!) reside dans le fait que le rectangle n'a pas ces axes alignes sur les axes (x,y). De ce fait les rectangles sont tiltes.
    Pour l'instant j'ai l'algo suivant:
    Ouverture et affichage image
    Impoly pour que l'utisateur selectionne un polygone sur l image
    Du polygone on calcul le rectangle inscrit dans les points selectionnes
    Affichage du rectangle (pour le rectangle je possede les coordonnes rectx et recty des arretes)

    Maintenant je souhaiterais une methode pour extraire le rectangle (et donc le rotate) afin d'obtenir une sous image correspondant a la zone selectionnee.

    Avez vous des idees?
    Merci d avance
    Yabbi

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Points : 34
    Points
    34
    Par défaut example
    J ai trouvé une image pour un exemple:
    http://www.mathworks.com/matlabcentr...664/1/rect.jpg

    Dans mon cas je voudrais avoir sous forme d'image separee l'interieur du rectangle bleu.

    Merci
    Yabbi

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,


    si tu connais les coordonnées des coins de ton rectangle, tu peux déterminer les coordonnées des pixels appartenant à ce rectangle (à la question comment les récupérer: où bien il existe une fonction matlab que je ne connais pas et qui le fait, ou bien tu mets en place un petit programme qui le fait). Une fois que tu possèdes la liste des pixels (dans le bon ordre) à l'intérieur du rectangle bleu, tu peux copier/coller les valeurs de ces pixels dans une nouvelle image, en respectant les dimensions (longueur/largeur) du rectangle bleu.
    Après est-ce que tu dois conserver l'orientation de ton rectangle ou pas ?

  4. #4
    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
    Bonjour,

    ou alors j'ai pas bien saisi le problème?

    edit : je viens de voir ton image, tu veux faire subir une rotation au rectangle pour ne garder que les pixels intérieurs au rectangle?

  5. #5
    jean_pierr
    Invité(e)
    Par défaut
    voila une solution de ton probleme en matlab.

    tu as besoin d'extraire les pixels contenu dans un rectangle non alignee a cause d,une rotation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    % im=ton image couleur.
    imshow(im);%facultatif.
    hold on
    %ici je veux dessiner un triangle et la meme chose pour un rectangle il suffit d,ajouter un autre point.
    ici j'ai trois point:
    A(863,453),B(856, 468), c(959,468).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    %pour desssiner le triangle.
     plot([863 856 959 863],[453 468 468 453],'r-');
    % maintenat il faut extraire tous les pixels d'une rectangle qui contenu le triangle.
    [x,y]=meshgrid(min([863 8560 959 863]):max([863 8560 959 863]),min([453 468 468 453]):max([453 468 468 453]));
    %ici on extrait seulement les pixels de triangle. rect est de type logique.
    rect=inpolygon(x,y,[863 8560 959 863],[453 468 468 453]);
    % ici on fait l'extraction des indices de pixels qui appartiennt au triangle(rect==1) et on colorie les pixels pour faire la difference.
    indices=find(rect);
    x_pixel=x(indices);
    y_pixel=y(indices);
     
     plot(x_pixel,y_pixel,'y.'); 
    % maintenant on peut extraire les valeurs de pixels a partir de l,image im()
    Valred=im(sub2ind(size(im(:,:,1)),Pixels(:,2),Pixels(:,1))); % channel red comme exemple.

    ce programme est tres clair et je suis sur qu'il fonctionne tres bien, a toi de faire la meme chose pour un rectangle. ajouter seulement un autre point.

    si mon programme est tres bien fonctionne, merci de me voter.
    Dernière modification par Jean Dumoncel ; 20/08/2012 à 18h08. Motif: Ajout des balises code => Sélection du texte et bouton #

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 48
    Points : 34
    Points
    34
    Par défaut Merci pour votre aide!
    Merci, grace à vous ca marche!

  7. #7
    jean_pierr
    Invité(e)
    Par défaut
    bonne chance.
    Dernière modification par jean_pierr ; 23/08/2012 à 20h01.

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

Discussions similaires

  1. diaporama avec image rotator
    Par Babelvf dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 20/09/2009, 21h07
  2. [Image] Rotation d'image
    Par millie dans le forum Contribuez
    Réponses: 0
    Dernier message: 08/04/2008, 21h46
  3. Problème image rotator
    Par eiffel74 dans le forum ASP
    Réponses: 1
    Dernier message: 10/04/2007, 23h02
  4. [WD] Image : rotation et redimension
    Par PimSaVie dans le forum WinDev
    Réponses: 11
    Dernier message: 04/04/2007, 15h32
  5. [Image]Rotation d'image
    Par psychomatt dans le forum 2D
    Réponses: 6
    Dernier message: 16/12/2004, 20h18

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