[chronojump] kneeAngle Fixed bug that prints rows with angle not found as -1 Now correct points have to be found



commit 5df714b68fa110332c9975b11e31c5481b12aa41
Author: Xavier de Blas <xaviblas gmail com>
Date:   Fri Apr 30 23:00:29 2010 +0800

    kneeAngle Fixed bug that prints rows with angle not found as -1
    Now correct points have to be found before, and then correct row is printed

 src/angle/kneeAngle.cpp |   43 +++++++++++++++++++++++--------------------
 1 files changed, 23 insertions(+), 20 deletions(-)
---
diff --git a/src/angle/kneeAngle.cpp b/src/angle/kneeAngle.cpp
index 63105a7..d65256b 100644
--- a/src/angle/kneeAngle.cpp
+++ b/src/angle/kneeAngle.cpp
@@ -1438,26 +1438,29 @@ int main(int argc,char **argv)
 		 * IF BLACKANDMARKERS MODE, FIND RECTANGLE, AND KNEE POINTS
 		 */
 
-		angleVector.push_back(thetaMarked);
-	
-		if(ProgramMode == skinOnlyMarkers) {
-			rectVector.push_back(-1);
-			kneePointFrontXVector.push_back(-1);
-			kneePointFrontYVector.push_back(-1);
-			kneePointBackXVector.push_back(-1); 
-			kneePointBackYVector.push_back(-1); 
-		} else {
-			rectVector.push_back(maxrect.height);
-			
-			//knee visible points on black pants
-			CvPoint kneePointFront = findKneePointFront(output, maxrect, validationRectHMax);
-			CvPoint kneePointBack = findKneePointBack(output, maxrect, kneePointFront.x, validationRectHMax); 
-			crossPoint(frame_copy, kneePointFront, GREY, MID);
-			crossPoint(frame_copy, kneePointBack, GREY, MID);
-			kneePointFrontXVector.push_back(kneePointFront.x);
-			kneePointFrontYVector.push_back(kneePointFront.y);
-			kneePointBackXVector.push_back(kneePointBack.x); 
-			kneePointBackYVector.push_back(kneePointBack.y); 
+
+		if( ! pointIsNull(hipMarked) && ! pointIsNull(kneeMarked) && ! pointIsNull(toeMarked) ) {
+			angleVector.push_back(thetaMarked);
+
+			if(ProgramMode == skinOnlyMarkers) {
+				rectVector.push_back(-1);
+				kneePointFrontXVector.push_back(-1);
+				kneePointFrontYVector.push_back(-1);
+				kneePointBackXVector.push_back(-1); 
+				kneePointBackYVector.push_back(-1); 
+			} else {
+				rectVector.push_back(maxrect.height);
+
+				//knee visible points on black pants
+				CvPoint kneePointFront = findKneePointFront(output, maxrect, validationRectHMax);
+				CvPoint kneePointBack = findKneePointBack(output, maxrect, kneePointFront.x, validationRectHMax); 
+				crossPoint(frame_copy, kneePointFront, GREY, MID);
+				crossPoint(frame_copy, kneePointBack, GREY, MID);
+				kneePointFrontXVector.push_back(kneePointFront.x);
+				kneePointFrontYVector.push_back(kneePointFront.y);
+				kneePointBackXVector.push_back(kneePointBack.x); 
+				kneePointBackYVector.push_back(kneePointBack.y); 
+			}
 		}
 			
 		//cvCopy(frame_copy,result);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]