traitement image opencv
Discussion fermée
Affichage des résultats 1 à 6 sur 6

traitement image opencv



  1. #1
    invite13e724e8

    traitement image opencv


    ------

    salut
    j'ai une image en couleur et je dois faire mon traitement sur un rectangle precis, pour cette raison j'ai voulu tracer le rectangle, mais j'ai trouvé un probleme pour avoir les cordonnées des 4 coins de rectangle, j'ai voulu en premier temps avoir le code de la couleur qui caracterise le rectangle et ensuite avoir les coordonnées mais çà pas marcher
    s'il vous plait , juste si y a quelqu'un qui pourra m'orienter je serais reconnaissante
    j'attds vos suggestions
    cordialement
    nagham

    -----

  2. #2
    invitea29b3af3

    Re : traitement image opencv

    Salut

    J'ai pas exactement compris ce que tu veux faire...
    Mais si je comprends bien tu veux tracer un rectangle dans ton image? Si c'est ça tu peux par exemple définir 2 points qui définissent ton rectangle:
    CvPoint pt1, pt2;

    et disons que t'as défini plus haut ton rectangle CvRect* r, alors tu extrais les coordonnées:
    pt1.x = r->x;
    pt2.x = r->x+r->width;
    pt1.y = r->y;
    pt2.y = r->y+r->height;

    et pour tracer un rectangle (ici par exemple en rouge) tu fais:
    cvRectangle( image, pt1, pt2, CV_RGB(255,0,0), 3, 8, 0 );

    Par contre si ton problème c'était pour extraire le rectangle de l'image et faire des traitements juste sur le rectangle, il faut plutôt utiliser une fonction comme cvSetImageROI et définir ton rectangle comme une ROI (region of interest)

  3. #3
    invite13e724e8

    Re : traitement image opencv

    bonjour
    merci de m'avoir repondu assez vite
    bon, ce que je veux faire , c'est exactement ce que vous venez de dire dans la deuxieme partie, c'est à dire je veux créer une zone d'interet ROI, qui est sous forme de rectangle, mais le probleme est que la seule indication est la couleur de cette zone , nn pas autre chose, c'est à dire je sais pas les cordonnées de ses points de depart et d'arrets(si on a le droit de le dire)
    donc comment puis je extraire cette zone , pour ensuite appliquer un traitement dedans????????
    merci
    cordialement
    nagham.

  4. #4
    invitea29b3af3

    Re : traitement image opencv

    Salut

    Pour extraire les valeurs RGB d'un pixel à la position (i,j) tu peux faire comme ça:
    int bleu = CV_IMAGE_ELEM(image, unsigned char, j, i*3);
    int vert = CV_IMAGE_ELEM(image, unsigned char, j, i*3+1);
    int rouge = CV_IMAGE_ELEM(image, unsigned char, j, i*3+2);

    Après, pour trouver les coordonnées de ton rectangle, tu peux mettre 2 boucles for (sur i et j) et chercher le coin en haut à gauche de ton rectangle (en cherchant le 1er point qui est de la couleur de ta ROI en espérant que cette couleur ne se trouve que dans ta ROI, sinon c'est un peu plus complexe), puis faire de même mais en partant du bas à droite pour avoir le coin inférieur droit... mais je sais pas si la région que tu cherches est pile un rectangle ou si tu l'approximes par un rectangle

    Et si tous les pixels de ta ROI sont plus ou moins de la même couleur mais pas exactement de la même, mets des marges (des seuils), genre bleu+marge et bleu-marge..

    Je sais pas si ça aide ou pas, mais je peux pas t'en dire bcp plus, je débute aussi plus ou moins avec opencv

  5. A voir en vidéo sur Futura
  6. #5
    invite13e724e8

    Re : traitement image opencv

    bonjour
    moi aussi je viens de commencer ces trucs de traitement d'image par OPENCV, çà fait presque deux semaines.
    maintenant, ce que vous venez d'exliquer pourra m'aider mais comment puis je savoir la position du pixel (i;j) dont je vais extraire son code de couleur?
    j'attds la reponse avec impatience
    merciiiiiiiiiiii
    cordialement
    nagham

  7. #6
    invitea29b3af3

    Re : traitement image opencv

    Eh ben justement tu ne les connais pas ces coordonnées, par contre je pars du principe que tu connais la couleur que tu cherches. Par exemple si tu as une couleur R=123,G=12,B=197 tu mets 2 boucles for qui parcourent tous les pixels et comparent la couleur de chacun d'eux avec ces valeurs là. Et le premier pixel qui remplit le critère est théoriquement le coin supérieur gauche de ton rectangle.
    Si tu connais pas exactement la couleur tu mets des marges, comme j'ai dit dans mon message d'avant.

Discussions similaires

  1. traitement image sous matlab
    Par invite327970f6 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 23/04/2009, 18h05
  2. conseil sur traitement de l image
    Par GrisBleu dans le forum Lectures scientifiques
    Réponses: 1
    Dernier message: 12/11/2007, 21h18
  3. Traitement image
    Par inviteffd3c5e3 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 1
    Dernier message: 18/08/2007, 11h53
  4. logiciel traitement image
    Par invite885f1e30 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 12/06/2007, 12h13
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...