Forum QtFR

La communauté francophone Qt

Vous n'êtes pas identifié(e).

Annonce

Qt 4: 4.8.4 - Qt 5: 5.0.2 - Qt Creator: 2.7.1 - Qt Installer: 1.3.0 - VS Qt 4: 1.1.11 - VS Qt 5: 1.2.1 - Monkey Studio: 1.9.0.4

#1 25-05-2012 16:39:21

kouriche
Membre(e) Qt
Inscription : 25-05-2012
Messages : 25

Prendre un ROI

Bonjour, Je appelle Kouriche je suis actuellement en stage de DUT, il me reste encore deux semaine pour trouver une solution sur un problème difficile.
Je travaille sur Qt et avec la librairie Opencv.

J'aimerai prendre un ROI de l'image source et le mettre dans une seconde image sans changer la taille du ROI.

Je souhaite avoir le ROI au milieu de l'image autour de celui-ci l'image soit noir

mon programme me fait met le ROI dans une nouvelle image, comme résultat j'ai l’équivalent d'un zoom et moi je ne veux pas de ca.

je vous demande de m'aider svp je suis vraiment en difficulté...
dans l'attente de réponse je vous remercie...

Hors ligne

#2 25-05-2012 16:51:43

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Prendre un ROI

lol lol lol Mon programme ne fonctionne pas !!! Au secours !!!

Tout devin que soient les experts du forum,
ils ne pourront pas grand chose pour toi sans un minimum de code ou d'explication sur "comment tu fais" !!!

Hors ligne

#3 25-05-2012 16:56:57

kouriche
Membre(e) Qt
Inscription : 25-05-2012
Messages : 25

Re : Prendre un ROI

Hors ligne

#4 25-05-2012 16:59:14

kouriche
Membre(e) Qt
Inscription : 25-05-2012
Messages : 25

Re : Prendre un ROI

ceci et une partie du code , en faite j'ai une fonction rotation
mais quand je lapplique elle  me déforme limage moi je pense que c'est parce quil faudrait une image carrer ???
avec un ROI carrer ???

Hors ligne

#5 25-05-2012 17:01:08

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Prendre un ROI

j'ai ajouté des balises [ code ] (bouton CODE au dessus de la fenêtre de saisie)

Hors ligne

#6 25-05-2012 17:01:51

kouriche
Membre(e) Qt
Inscription : 25-05-2012
Messages : 25

Re : Prendre un ROI

enfin je pense qu'il faut le ROI au milieu dune grande Image pour que lorsqu'il fait la rotation, il n'y a pas de modification du roi
juste la rotation ???

Hors ligne

#7 25-05-2012 17:04:43

kouriche
Membre(e) Qt
Inscription : 25-05-2012
Messages : 25

Re : Prendre un ROI

merci pour ton aide.
mais je suis nouvel dans ce forum et je sais pas ou trouver les liens que tu me donne ?

Hors ligne

#8 25-05-2012 17:09:54

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Prendre un ROI

ça représente quoi
- pxFly et pyFly
- 1600

Hors ligne

#9 25-05-2012 17:13:00

kouriche
Membre(e) Qt
Inscription : 25-05-2012
Messages : 25

Re : Prendre un ROI

pxFly et pyFly c'est la position de l'objet (une mouche)

et 1200 et 1600 les valeur maximal (taille de limage)

Hors ligne

#10 25-05-2012 17:19:09

kouriche
Membre(e) Qt
Inscription : 25-05-2012
Messages : 25

Re : Prendre un ROI

en fait je crois que je me casse la tete pour rien, moi je dois juste trouver une solution pour que l'image ne ce déforme pas  j'utilise cette fonction trouver sur le net

    IplImage* transposeImage(IplImage* image, float posX, float posY, int angle)
    {

      IplImage *rotated = cvCreateImage(cvSize(image->height,image->width), IPL_DEPTH_8U,image->nChannels);

      CvPoint2D32f center;

      //float center_val = (float)((image->width)-1) / 2;
      center.x = posX;
      center.y = posY;
      CvMat *mapMatrix = cvCreateMat( 2, 3, CV_32FC1 );

      cv2DRotationMatrix(center, angle, 1.0, mapMatrix);
      cvWarpAffine(image, rotated, mapMatrix, CV_WARP_FILL_OUTLIERS, cvScalarAll(0));

      cvReleaseMat(&mapMatrix);

      return rotated;
    }

Hors ligne

#11 25-05-2012 17:31:08

PapaJaac
Administrateur Qt
Lieu : Bordeaux
Inscription : 08-12-2008
Messages : 1 754

Re : Prendre un ROI

Bonjour !

kouriche a écrit :

mon programme me fait met le ROI dans une nouvelle image, comme résultat j'ai l’équivalent d'un zoom et moi je ne veux pas de ca.

Je ne connais pas openCV.

L'image destination a la même taille que la ROI ? ou la même taille que l'image source ?
Si la réponse est 2 il faut que tu t'assures que cvCopy () n'essaie pas de remplir toute l'image destination avec la ROI extraite de l'image source.

Hors ligne

#12 25-05-2012 17:33:43

kouriche
Membre(e) Qt
Inscription : 25-05-2012
Messages : 25

Re : Prendre un ROI

j'ai trouver, il faut mettre le résultat dans une image carrer
merci Nicolas davoir répondu

    IplImage *im_rotation = cvCreateImage(cvSize(900,900), im_fly->depth, im_fly->nChannels);
    im_rotation = ImageTools::transposeImage(im_ROI, ui->s_rotation->value());

Hors ligne

#13 25-05-2012 18:09:03

Nicolas SOUCHON
Administrateur Qt
Inscription : 28-07-2007
Messages : 3 154

Re : Prendre un ROI

Je ne connais pas vraiment openCV non plus.

mais quand on a appelé setImageROI() (ROI = Region Of Interest) sur une image
la plupart des appels suivants sur cette image concernent cette partie de l'image

d'où le commentaire dans le code de kouriche:

EDIT: corrigé : les appels suivants --> la plupart des appels suivants

Hors ligne

#14 25-05-2012 18:28:19

PapaJaac
Administrateur Qt
Lieu : Bordeaux
Inscription : 08-12-2008
Messages : 1 754

Re : Prendre un ROI

Ah la ROI est considérée comme un "attribut" de l'image. Sympa ça.

Hors ligne

Pied de page des forums


Sitemap QtFR