From 73704e5139b2d41da4ef8b5821983bef95a27eee Mon Sep 17 00:00:00 2001 From: AntoineUPMC Date: Tue, 25 Apr 2017 17:37:42 +0200 Subject: [PATCH] Ajout du pointage de position de l'objet (A) --- .../DisplayImage.dir/DisplayImage.cpp.o | Bin 6088 -> 7128 bytes code/DisplayImage | Bin 13851 -> 14066 bytes code/DisplayImage.cpp | 39 +++++++++++++----- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/code/CMakeFiles/DisplayImage.dir/DisplayImage.cpp.o b/code/CMakeFiles/DisplayImage.dir/DisplayImage.cpp.o index 937674c671ffe30e1d66034fdd6f6b308ba622ae..a987e58425699f38df17cc28dc88465a076fef0c 100644 GIT binary patch literal 7128 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 Gc)kF_4KvsP diff --git a/code/DisplayImage b/code/DisplayImage index d1abd8a579f5e866a65bfd5fd7e5e3789965cedf..234706723aa6aa0526ff748a40581a5db84b153c 100755 GIT binary patch literal 14066 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 kWoAplZAZd1~M?&UZi0U;` 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 diff --git a/code/DisplayImage.cpp b/code/DisplayImage.cpp index 88c76b4..1d52cf5 100644 --- a/code/DisplayImage.cpp +++ b/code/DisplayImage.cpp @@ -12,16 +12,17 @@ void on_trackbar( int, void* ) int main(int argc, char* argv[]) { int height,width,step,channels; //parameters of the image we are working on + int posX, posY; //Position objet + CvMoments *moments = (CvMoments*)malloc(sizeof(CvMoments)); //Variable moyenne position // Open capture device. 0 is /dev/video0, 1 is /dev/video1, etc. CvCapture* capture = cvCaptureFromCAM( 0 ); - if( !capture ) - { - fprintf( stderr, "ERROR: capture is NULL \n" ); - getchar(); + if( !capture ){ + printf("ERROR: capture is NULL \n" ); return -1; } + // grab an image from the capture IplImage* frame = cvQueryFrame( capture ); @@ -71,22 +72,36 @@ int main(int argc, char* argv[]) // Get one frame frame = cvQueryFrame( capture ); - if( !frame ) - { - fprintf( stderr, "ERROR: frame is null...\n" ); - getchar(); + if( !frame ){ + printf("ERROR: frame is null...\n" ); break; } // Covert color space to HSV as it is much easier to filter colors in the HSV color-space. cvCvtColor(frame, hsv_frame, CV_BGR2HSV); - + //Binarisation cvInRangeS(hsv_frame, cvScalar(iLowH, iLowS, iLowV), cvScalar(iHighH, iHighS, iHighV), threshold); - + //Blur + cvSmooth( threshold, threshold, CV_GAUSSIAN, 9, 9 ); //Legère suppression des parasites + + // Calculate the moments to estimate the position of the ball + + cvMoments(threshold, moments, 1); + // The actual moment values + double moment10 = cvGetSpatialMoment(moments, 1, 0); + double moment01 = cvGetSpatialMoment(moments, 0, 1); + double area = cvGetCentralMoment(moments, 0, 0); + + posX= moment10/area; + posY= moment01/area; + + cvCircle(frame, cvPoint(posX,posY), 5, cvScalar(0,0,255), -1, 8, 0 ); + cvShowImage( "Camera", frame ); // Original stream with detected ball overlay cvShowImage( "HSV", hsv_frame); // Original stream in the HSV color space cvShowImage( "Binaire", threshold); // The stream after color filtering + if( (cvWaitKey(10) ) >= 0 ) break; //Arret capture } @@ -94,6 +109,8 @@ int main(int argc, char* argv[]) // Release the capture device housekeeping cvReleaseCapture( &capture ); - cvDestroyWindow( "mywindow" ); + + cvReleaseImage(&threshold); + return 0; }