aboutsummaryrefslogtreecommitdiff
path: root/pix_opencv_hough_circles.cc
diff options
context:
space:
mode:
authorN.N. <sevyves@users.sourceforge.net>2009-09-03 20:11:28 +0000
committerN.N. <sevyves@users.sourceforge.net>2009-09-03 20:11:28 +0000
commitc7599f2fe85abefedf083c04377530d2e3497246 (patch)
tree6b50ce0782fd4087546808a669641534e1a20c21 /pix_opencv_hough_circles.cc
parent8de84ee6ee3fdccd6da261e6c8761eec908a52bc (diff)
added pix_opencv_hough_lines
svn path=/trunk/externals/pix_opencv/; revision=12233
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]));