From 84e702368750bba07f231178e1264c2ea4e3929c Mon Sep 17 00:00:00 2001 From: "N.N." Date: Sun, 8 Aug 2010 17:23:44 +0000 Subject: compare contours and points to the closest object svn path=/trunk/externals/pix_opencv/; revision=13775 --- pix_opencv_lk.cc | 154 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 98 insertions(+), 56 deletions(-) (limited to 'pix_opencv_lk.cc') diff --git a/pix_opencv_lk.cc b/pix_opencv_lk.cc index dbab9b9..9e02ae3 100644 --- a/pix_opencv_lk.cc +++ b/pix_opencv_lk.cc @@ -51,7 +51,7 @@ pix_opencv_lk :: pix_opencv_lk() add_remove_pt = 0; quality = 0.1; min_distance = 10; - maxmove = 8; + maxmove = 20; markall = 0; ftolerance = 5; delaunay = -1; @@ -104,8 +104,9 @@ pix_opencv_lk :: ~pix_opencv_lk() void pix_opencv_lk :: processRGBAImage(imageStruct &image) { int i, k; - int im; + int im, oi; int marked; + float dist, odist; if ((this->comp_xsize!=image.xsize)&&(this->comp_ysize!=image.ysize)) { @@ -250,29 +251,42 @@ void pix_opencv_lk :: processRGBAImage(imageStruct &image) cvCircle( rgb, cvPointFrom32f(points[1][i]), 3, CV_RGB(0,255,0), -1, 8,0); marked=0; + oi=-1; + dist=(comp_xsize>comp_ysize)?comp_xsize:comp_ysize; + for ( im=0; imcomp_xsize!=image.xsize)&&(this->comp_ysize!=image.ysize)) { @@ -514,28 +529,41 @@ void pix_opencv_lk :: processRGBImage(imageStruct &image) cvCircle( rgb, cvPointFrom32f(points[1][i]), 3, CV_RGB(0,255,0), -1, 8,0); marked=0; + oi=-1; + dist=(comp_xsize>comp_ysize)?comp_xsize:comp_ysize; + for ( im=0; imcomp_xsize!=image.xsize)&&(this->comp_ysize!=image.ysize)) { @@ -774,26 +803,39 @@ void pix_opencv_lk :: processGrayImage(imageStruct &image) cvCircle( gray, cvPointFrom32f(points[1][i]), 3, CV_RGB(0,255,0), -1, 8,0); marked=0; + oi=-1; + dist=(comp_xsize>comp_ysize)?comp_xsize:comp_ysize; + for ( im=0; im MAX_MARKERS ) ) + if ( ( index < 0.0 ) || ( index >= MAX_MARKERS ) ) { return; } - x_xmark[(int)index-1] = -1; - x_ymark[(int)index-1] = -1; + x_xmark[(int)index] = -1; + x_ymark[(int)index] = -1; } -- cgit v1.2.1