Vous êtes sur la page 1sur 2

#include "cv.

h"
#include "highgui.h"

IplImage* doCanny(
IplImage* in,
double lowThresh,
double highThresh,
double aperture)
{
if (in->nChannels != 1)
return(0);
IplImage* out = cvCreateImage(
cvGetSize( in ),
in->depth,
1);
cvCanny( in, out, lowThresh, highThresh, aperture );
return( out );
};

IplImage* doPyrDown(
IplImage* in,
int filter = IPL_GAUSSIAN_5x5)
{
// input image is divisible by two.
//
assert( in->width%2 == 0 && in->height%2 == 0 );
IplImage* out = cvCreateImage(
cvSize( in->width/2, in->height/2 ),
in->depth,
in->nChannels
);
cvPyrDown( in, out );
return( out );
};
main( int argc, char** argv)
{
cvNamedWindow( "Example in",CV_WINDOW_AUTOSIZE );
cvNamedWindow("Example gray", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "Example blur",CV_WINDOW_AUTOSIZE );
cvNamedWindow("Example dogray", CV_WINDOW_AUTOSIZE );
cvNamedWindow("Example doblur", CV_WINDOW_AUTOSIZE );
cvNamedWindow("Example Canny", CV_WINDOW_AUTOSIZE );
cvNamedWindow("Example doCanny", CV_WINDOW_AUTOSIZE );

IplImage* img = cvLoadImage( "fruits.jpg",CV_LOAD_IMAGE_COLOR);


IplImage* blur = cvCreateImage( cvGetSize(img),8,3);
IplImage* doblur = cvCreateImage( cvGetSize(blur), 8,3);
IplImage* gray = cvCreateImage( cvSize( img->width,img->height ), img->
depth, 1);
IplImage* dogray = cvCreateImage( cvSize( gray->width,gray->height ),
gray->depth, 1);

// Show the original image


cvShowImage("Example in", img);
// Create an image for the Gray
cvCvtColor(img, gray ,CV_RGB2GRAY);
cvShowImage("Example gray", gray );
dogray = doPyrDown( gray );
cvShowImage("Example dogray", dogray );

//create an image for blur


cvSmooth(img,blur,CV_GAUSSIAN,9,9);
cvShowImage("Example blur", blur);
doblur = doPyrDown( blur );
cvShowImage("Example doblur", doblur );

IplImage* cnn = doCanny( gray, 5,75, 3 );


cvShowImage("Example Canny", cnn );

IplImage* docnn = doCanny( dogray, 10, 100, 3 );


cvShowImage("Example doCanny", docnn );

cvWaitKey(-1);
cvReleaseImage( &img );
cvReleaseImage(&gray );
cvReleaseImage(&blur );
cvReleaseImage(&dogray );
cvReleaseImage(&doblur );
cvReleaseImage( &cnn);
cvReleaseImage( &docnn);
cvDestroyWindow( "Example in");
cvDestroyWindow( "Example Gray" );
cvDestroyWindow( "Example blur" );
cvDestroyWindow( "Example doGray" );
cvDestroyWindow( "Example doblur" );
cvDestroyWindow("Example Canny");
cvDestroyWindow("Example doCanny");

Vous aimerez peut-être aussi