aboutsummaryrefslogtreecommitdiff
path: root/pix_opencv_hough_circles.cc
diff options
context:
space:
mode:
Diffstat (limited to 'pix_opencv_hough_circles.cc')
-rwxr-xr-xpix_opencv_hough_circles.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/pix_opencv_hough_circles.cc b/pix_opencv_hough_circles.cc
index 40595d1..2ebbdcf 100755
--- a/pix_opencv_hough_circles.cc
+++ b/pix_opencv_hough_circles.cc
@@ -202,21 +202,22 @@ void pix_opencv_hough_circles :: processGrayImage(imageStruct &image)
memcpy( gray->imageData, image.data, image.xsize*image.ysize );
- if( night_mode )
- cvZero( gray );
-
x_storage = cvCreateMemStorage(0);
cvSmooth( gray, gray, CV_GAUSSIAN, 9, 9 );
CvSeq* circles = cvHoughCircles( gray, x_storage, CV_HOUGH_GRADIENT, x_resolution, x_mindist, x_threshold, x_threshold2 );
+
+ if( night_mode )
+ cvZero( gray );
+
ucircles = (circles->total>x_maxcircles)?x_maxcircles:circles->total;
for( i = 0; i < ucircles; i++ )
{
float* p = (float*)cvGetSeqElem( circles, i );
char tindex[10];
- cvCircle( gray, cvPoint(cvRound(p[0]),cvRound(p[1])), 3, CV_RGB(0,255,0), -1, 8, 0 );
- cvCircle( gray, cvPoint(cvRound(p[0]),cvRound(p[1])), cvRound(p[2]), CV_RGB(255,0,0), 3, 8, 0 );
+ cvCircle( gray, cvPoint(cvRound(p[0]),cvRound(p[1])), 3, CV_RGB(255,255,255), -1, 8, 0 );
+ cvCircle( gray, cvPoint(cvRound(p[0]),cvRound(p[1])), cvRound(p[2]), CV_RGB(255,255,255), 3, 8, 0 );
SETFLOAT(&x_list[0], i);
SETFLOAT(&x_list[1], cvRound(p[0]));
SETFLOAT(&x_list[2], cvRound(p[1]));