Précédent   Forum du club des développeurs et IT Pro > C et C++ > Bibliothèques > OpenCV
OpenCV Vos questions sur l'API de traitement d'images OpenCV.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/12/2012, 14h07   #1
amina90
Invité de passage
 
Femme amina bibi
Étudiant
Inscription : décembre 2012
Messages : 1
Détails du profil
Informations personnelles :
Nom : Femme amina bibi
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : décembre 2012
Messages : 1
Points : 0
Points : 0
Par défaut Seuillage

salut
j'essaye de faire un traitement sur une image en noir et blanc (nommée gray dans le code) c'est une sorte de seuillage mais cette fois je seuille quand lorsque la valeur du pixel est entre deux valeur que je fixe auparavant.
bref le problème c'est au niveau de l'affectation de la nouvelle valeur du pixel dans une nouvelle image (appelée img_seuil dans le code) !!
la compilation ne donne aucune erreur mais lors se l'éxécution ca bloque et ca m'affiche " opencv error: bad arguement .... "

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 int seuil1= 20;
    int seuil2=160;
    for (int x=0;x<gray->width; x++)
    {
        for (int y=0; y<gray->height; y++)
        {
            CvScalar pixel=cvGet2D(gray, y, x);
            if (pixel.val[0]>seuil1 && pixel.val[0]<seuil2)
            {  pixel.val[0]=0;
           //pixel.val[1] = pixel.val[2] = 0; 
            }
            else {
                pixel.val[0]=255;
                //pixel.val[1] = pixel.val[2] = 255;
                        }
 
            cvSet2D(img_seuil, y, x,pixel);
        }
    }
Merci
amina90 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2013, 10h10   #2
Hamza
Membre régulier
 
Avatar de Hamza
 
Homme Hamza
Étudiant
Inscription : avril 2005
Messages : 194
Détails du profil
Informations personnelles :
Nom : Homme Hamza
Âge : 30
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2005
Messages : 194
Points : 88
Points : 88
Bonjour,

quand j’exécute ton programme le résultat sur l'image origine et image traiter sont identique.

Code :
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
#include <cv.h>
#include <highgui.h>
int seuil1= 20;
int seuil2=160;
void main()
{
	IplImage *gray,*img_seuil;
	gray=cvLoadImage("test.jpg");img_seuil=gray;
	CvScalar pixel;
    for (int x=0;x<gray->width; x++)
    {
        for (int y=0; y<gray->height; y++)
        {
            pixel=cvGet2D(gray, y, x);
            if ((pixel.val[0]>seuil1)&&(pixel.val[0]<seuil2))
            {  pixel.val[0]=0;cvSet2D(img_seuil, y, x,pixel);
            }
            else {
                pixel.val[0]=255;cvSet2D(img_seuil, y, x,pixel);
                        }
        }
    }
	cvShowImage("Image traiter",img_seuil);cvShowImage("Image origine",gray);
	cvWaitKey(0);
}
enfin le programme s’exécute sans aucune erreur
Hamza est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h49.


 
 
 
 
Partenaires

Hébergement Web