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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| #include <cv.h>
#include <highgui.h>
#include <math.h>
#include <cvaux.h>
#include <cxcore.h>
IplImage *img, *img_bin,*img_nvg;
int seuil;
int inverser;
void seuillage(int valeur){
int traitement;
if(inverser==0)traitement=CV_THRESH_BINARY;
else traitement=CV_THRESH_BINARY_INV;
cvThreshold(img_nvg, img_bin, seuil, 255, traitement);
cvShowImage("img binaire", img_bin);
}
int main()
{
img=cvLoadImage("C:\users\nomidia\desktop\img.jpg");
/*spire_vert=cvCloneImage()*/
img_nvg = cvCreateImage(cvGetSize(img), img->depth, 1);
img_bin=cvCloneImage(img_nvg);
//Contrôle de l'origine
inverser=0;
int flip=0;
if(img->origin!=IPL_ORIGIN_TL){
flip=CV_CVTIMG_FLIP;
}
cvConvertImage(img, img_nvg, flip);
cvNamedWindow("img Originale", CV_WINDOW_AUTOSIZE);
cvNamedWindow("img Binaire", CV_WINDOW_AUTOSIZE);
cvShowImage("img Originale", img);
//Première binarisation
seuil=127;
cvThreshold(img_nvg, img_bin, seuil, 255, CV_THRESH_BINARY);
//Affichage du résultat
cvShowImage("img binaire", img_bin);
//Création des trackbars
cvCreateTrackbar( "Seuil de binarisation", "img binaire", &seuil , 255 , seuillage );
cvCreateTrackbar( "Inverser (0 = non, 1 = oui)", "img binaire", &inverser, 1, seuillage );
cvWaitKey(0);
return 0;
} |
Partager