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
| #include <iostream>
#include <cv.h>
#include <highgui.h>
using namespace std;
int main()
{
IplImage *img;
IplImage *img_nvg;
IplImage *img_m;
img = cvLoadImage("1.jpg");
//img_nvg= cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,1);
img_m=cvCloneImage(img);
int flip = 0;
if (img-> origin != IPL_ORIGIN_TL)
{flip = CV_CVTIMG_FLIP;} //corriger l'orogine
cvConvertImage(img,img_m,flip);
CvMat* matr=cvCreateMat(3,3,CV_32FC1);
//remplissage du masqque de matr
cvmSet(matr,0,0,1.0/9.0);
cvmSet(matr,0,1,1.0/9.0);
cvmSet(matr,0,2,1.0/9.0);
cvmSet(matr,1,0,1.0/9.0);
cvmSet(matr,1,1,1.0/9.0);
cvmSet(matr,1,2,1.0/9.0);
cvmSet(matr,2,0,1.0/9.0);
cvmSet(matr,2,1,1.0/9.0);
cvmSet(matr,2,2,1.0/9.0);
cvFilter2D(img,img_m,matr);
//for (int x=0)
//cvSmooth( img,img_m, CV_MEDIAN, 3, 3 );
cvNamedWindow("Originale",CV_WINDOW_AUTOSIZE);
cvNamedWindow("m",CV_WINDOW_AUTOSIZE);
cvShowImage("Originale",img);
cvShowImage("m",img_m);
cvWaitKey(0);
cvReleaseImage(&img);
cvReleaseImage(&img_m);
return 0;
} |
Partager