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

OpenCV Discussion :

opencv transformation perspective


Sujet :

OpenCV

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 18
    Points : 12
    Points
    12
    Par défaut opencv transformation perspective
    Bonjour,
    Je récupère une image prise en perspective et souhaite lui redonner sa forme originale.

    Pour cela, j'utilise le bout de code ci-dessous :
    mon image d'origine est dans Dossard[j].img

    Dans un souci de simplification, et parce que je ne comprenais pas pourquoi mon image résultante ne correspondait à rien, j'ai mis les mêmes valeurs de coordonnées pour les 2 images (dstTri[0].x=srcTri[0].x;...).
    J'ai pensé dans ce cas que l'image donnée par cvWarpAffine serait exactement celle d'origine. Mais ce n'en est pas le cas, et c'est cela qui vient me faire demander un peu d'aide .

    L'image d'origine est un rectangle de 54 pixel de large sur 56 pixel de haut) contenant 4 chiffres prise en photo légèrement de biais
    L'image résultante est une image uniforme blanc crème (note : je remarque que la couleur correspond au premier pixel de l'image d'origine. Hasard ?)


    Est ce que quelqu'un saurait pourquoi est ce que j'ai ce résultat et ce que je fais de mal ?

    Merci d'avance de votre aide.

    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
     
    CvPoint2D32f srcTri[4], dstTri[4];
    CvMat* warp_mat = cvCreateMat(2,3,CV_32FC1);
    IplImage *src, *dst;
     
    src = cvCloneImage( Dossard[j].img );
    src->origin = Dossard[j].img->origin;
    dst = cvCloneImage( src );
    dst->origin = src->origin;
     
    srcTri[0].x=0;srcTri[0].y=0;
    srcTri[1].x=src->width;srcTri[1].y=0;
    srcTri[2].x=src->width;srcTri[2].y=src->height;
    srcTri[3].x=0;srcTri[3].y=src->height;
     
    dstTri[0].x=srcTri[0].x;dstTri[0].y=srcTri[0].y;
    dstTri[1].x=srcTri[1].x;dstTri[1].y=srcTri[1].y;
    dstTri[2].x=srcTri[2].x;dstTri[2].y=srcTri[2].y;
    dstTri[3].x=srcTri[3].x;dstTri[3].y=srcTri[3].y;
     
    for (k=0;k<4;k++)
    {
    	printf("%f %f\n",srcTri[k].x,srcTri[k].y);
    }
     
    cvGetPerspectiveTransform(srcTri, dstTri, warp_mat);
    cvWarpAffine( src, dst, warp_mat , CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS , cvScalarAll(0) );
    cvSaveImage(buf2,dst,0);
    Images attachées Images attachées   

Discussions similaires

  1. [CSS 3] transform perspective
    Par artenis dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/02/2012, 14h24
  2. Angle apres transformation perspective
    Par billates dans le forum OpenCV
    Réponses: 0
    Dernier message: 18/09/2011, 15h38
  3. [ImageMagick] Transformation inhabituelle d'image (perspective)
    Par calogerogigante dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 12/09/2007, 17h41
  4. Transformer des images OpenCV en AVI
    Par bustaja dans le forum OpenCV
    Réponses: 2
    Dernier message: 24/04/2007, 15h11

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