From e2f00ce84660e282038530090eb0f9b9f655ac75 Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Sun, 28 Jul 2013 00:12:24 +1000 Subject: [PATCH 01/23] New intersection function for rotated rectangles --- modules/imgproc/include/opencv2/imgproc.hpp | 3 + modules/imgproc/src/intersection.cpp | 223 ++++++++++++++++++++ 2 files changed, 226 insertions(+) create mode 100644 modules/imgproc/src/intersection.cpp diff --git a/modules/imgproc/include/opencv2/imgproc.hpp b/modules/imgproc/include/opencv2/imgproc.hpp index dd849ef4c2..b170e6a4e4 100644 --- a/modules/imgproc/include/opencv2/imgproc.hpp +++ b/modules/imgproc/include/opencv2/imgproc.hpp @@ -1414,6 +1414,9 @@ CV_EXPORTS_W void fitLine( InputArray points, OutputArray line, int distType, //! checks if the point is inside the contour. Optionally computes the signed distance from the point to the contour boundary CV_EXPORTS_W double pointPolygonTest( InputArray contour, Point2f pt, bool measureDist ); +//! computes whether two rotated rectangles intersect and returns the vertices of the intersecting region +CV_EXPORTS_W bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ); + CV_EXPORTS Ptr createCLAHE(double clipLimit = 40.0, Size tileGridSize = Size(8, 8)); } // cv diff --git a/modules/imgproc/src/intersection.cpp b/modules/imgproc/src/intersection.cpp new file mode 100644 index 0000000000..6d6f97d8b3 --- /dev/null +++ b/modules/imgproc/src/intersection.cpp @@ -0,0 +1,223 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2008-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// @Authors +// Nghia Ho, nghiaho12@yahoo.com +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of OpenCV Foundation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the OpenCV Foundation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ +#include "precomp.hpp" + +namespace cv +{ + +bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ) +{ + const float samePointEps = 0.00001; // used to test if two points are the same, due to numerical error + + Point2f vec1[4], vec2[4]; + Point2f pts1[4], pts2[4]; + + std::vector intersection; + + rect1.points(pts1); + rect2.points(pts2); + + // Line vector + // A line from p1 to p2 is: p1 + (p2-p1)*t, t=[0,1] + for( int i = 0; i < 4; i++ ) + { + vec1[i].x = pts1[(i+1)%4].x - pts1[i].x; + vec1[i].y = pts1[(i+1)%4].y - pts1[i].y; + + vec2[i].x = pts2[(i+1)%4].x - pts2[i].x; + vec2[i].y = pts2[(i+1)%4].y - pts2[i].y; + } + + // Line test - test all line combos for intersection + for( int i = 0; i < 4; i++ ) + { + for( int j = 0; j < 4; j++ ) + { + // Solve for 2x2 Ax=b + float x21 = pts2[j].x - pts1[i].x; + float y21 = pts2[j].y - pts1[i].y; + + float vx1 = vec1[i].x; + float vy1 = vec1[i].y; + + float vx2 = vec2[j].x; + float vy2 = vec2[j].y; + + float det = vx2*vy1 - vx1*vy2; + + float t1 = (vx2*y21 - vy2*x21) / det; + float t2 = (vx1*y21 - vy1*x21) / det; + + // This takes care of parallel lines + if( !std::isnormal(t1) || !std::isnormal(t2) ) + { + continue; + } + + if( t1 >= 0.0f && t1 <= 1.0f && t2 >= 0.0f && t2 <= 1.0f ) + { + float xi = pts1[i].x + vec1[i].x*t1; + float yi = pts1[i].y + vec1[i].y*t1; + + intersection.push_back(Point2f(xi,yi)); + } + } + } + + // Check for vertices from rect1 inside recct2 + for( int i = 0; i < 4; i++ ) + { + // We do a sign test to see which side the point lies. + // If the point all lie on the same sign for all 4 sides of the rect, + // then there's an intersection + int posSign = 0; + int negSign = 0; + + float x = pts1[i].x; + float y = pts1[i].y; + + for( int j = 0; j < 4; j++ ) + { + // line equation: Ax + By + C = 0 + // see which side of the line this point is at + float A = -vec2[j].y; + float B = vec2[j].x; + float C = -(A*pts2[j].x + B*pts2[j].y); + + float s = A*x+ B*y+ C; + + if( s >= 0 ) + { + posSign++; + } + else + { + negSign++; + } + } + + if( posSign == 4 || negSign == 4 ) + { + intersection.push_back(pts1[i]); + } + } + + // Reverse the check - check for vertices from rect2 inside recct1 + for( int i = 0; i < 4; i++ ) + { + // We do a sign test to see which side the point lies. + // If the point all lie on the same sign for all 4 sides of the rect, + // then there's an intersection + int posSign = 0; + int negSign = 0; + + float x = pts2[i].x; + float y = pts2[i].y; + + for( int j = 0; j < 4; j++ ) + { + // line equation: Ax + By + C = 0 + // see which side of the line this point is at + float A = -vec1[j].y; + float B = vec1[j].x; + float C = -(A*pts1[j].x + B*pts1[j].y); + + float s = A*x + B*y + C; + + if( s >= 0 ) + { + posSign++; + } + else + { + negSign++; + } + } + + if( posSign == 4 || negSign == 4 ) + { + intersection.push_back(pts2[i]); + } + } + + // Get rid of dupes + for( int i = 0; i < (int)intersection.size()-1; i++ ) + { + for( size_t j = i+1; j < intersection.size(); j++ ) + { + float dx = intersection[i].x - intersection[j].x; + float dy = intersection[i].y - intersection[j].y; + double d2 = dx*dx + dy*dy; // can be a really small number, need double here + + if( d2 < samePointEps*samePointEps ) + { + // Found a dupe, remove it + std::swap(intersection[j], intersection.back()); + intersection.pop_back(); + i--; // restart check + } + } + } + + if( intersection.empty() ) + { + return false; + } + + intersectingRegion.create(intersection.size(), 1, CV_MAKETYPE(intersectingRegion.depth(), 2) ); + + Mat m = intersectingRegion.getMat(); + + size_t step = !m.isContinuous() ? m.step[0] : sizeof(Point2f); + + for( size_t i = 0; i < intersection.size(); i++ ) + { + *(Point2f*)(m.data + i*step) = intersection[i]; + } + + return true; +} + +} From a0576d7b2a6eac0fcc760ab7806ec30ae3bedb6e Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Sun, 28 Jul 2013 00:46:44 +1000 Subject: [PATCH 02/23] Fixed ret --- modules/imgproc/src/intersection.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/imgproc/src/intersection.cpp b/modules/imgproc/src/intersection.cpp index 6d6f97d8b3..9c1fd9f565 100644 --- a/modules/imgproc/src/intersection.cpp +++ b/modules/imgproc/src/intersection.cpp @@ -206,16 +206,18 @@ bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& return false; } - intersectingRegion.create(intersection.size(), 1, CV_MAKETYPE(intersectingRegion.depth(), 2) ); + //intersectingRegion.create(intersection.size(), 2, CV_32F); - Mat m = intersectingRegion.getMat(); + // Mat ret = intersectingRegion.getMat(); - size_t step = !m.isContinuous() ? m.step[0] : sizeof(Point2f); + Mat(intersection).copyTo(intersectingRegion); - for( size_t i = 0; i < intersection.size(); i++ ) - { - *(Point2f*)(m.data + i*step) = intersection[i]; - } +// size_t step = !m.isContinuous() ? m.step[0] : sizeof(Point2f); + +// for( size_t i = 0; i < intersection.size(); i++ ) +// { +// *(Point2f*)(m.data + i*step) = intersection[i]; +// } return true; } From a40f217a38f19caa35d0c708727e74df39eaf661 Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Sun, 28 Jul 2013 01:06:55 +1000 Subject: [PATCH 03/23] changed from isnormal to isfinite, the prev ignored zero --- modules/imgproc/include/opencv2/imgproc.hpp | 8 +++++-- modules/imgproc/src/intersection.cpp | 26 +++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/modules/imgproc/include/opencv2/imgproc.hpp b/modules/imgproc/include/opencv2/imgproc.hpp index b170e6a4e4..5e2e952954 100644 --- a/modules/imgproc/include/opencv2/imgproc.hpp +++ b/modules/imgproc/include/opencv2/imgproc.hpp @@ -462,7 +462,11 @@ enum { COLOR_BGR2BGRA = 0, COLOR_COLORCVT_MAX = 139 }; - +//! types of intersection between rectangles +enum { INTERSECT_NONE = 0, + INTERSECT_PARTIAL = 1, + INTERSECT_FULL = 2 + }; /*! The Base Class for 1D or Row-wise Filters @@ -1415,7 +1419,7 @@ CV_EXPORTS_W void fitLine( InputArray points, OutputArray line, int distType, CV_EXPORTS_W double pointPolygonTest( InputArray contour, Point2f pt, bool measureDist ); //! computes whether two rotated rectangles intersect and returns the vertices of the intersecting region -CV_EXPORTS_W bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ); +CV_EXPORTS_W int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ); CV_EXPORTS Ptr createCLAHE(double clipLimit = 40.0, Size tileGridSize = Size(8, 8)); diff --git a/modules/imgproc/src/intersection.cpp b/modules/imgproc/src/intersection.cpp index 9c1fd9f565..7870f78299 100644 --- a/modules/imgproc/src/intersection.cpp +++ b/modules/imgproc/src/intersection.cpp @@ -47,7 +47,7 @@ namespace cv { -bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ) +int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ) { const float samePointEps = 0.00001; // used to test if two points are the same, due to numerical error @@ -59,6 +59,8 @@ bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect1.points(pts1); rect2.points(pts2); + int ret = INTERSECT_FULL; + // Line vector // A line from p1 to p2 is: p1 + (p2-p1)*t, t=[0,1] for( int i = 0; i < 4; i++ ) @@ -91,7 +93,7 @@ bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& float t2 = (vx1*y21 - vy1*x21) / det; // This takes care of parallel lines - if( !std::isnormal(t1) || !std::isnormal(t2) ) + if( !std::isfinite(t1) || !std::isfinite(t2) ) { continue; } @@ -106,6 +108,11 @@ bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& } } + if( !intersection.empty() ) + { + ret = INTERSECT_PARTIAL; + } + // Check for vertices from rect1 inside recct2 for( int i = 0; i < 4; i++ ) { @@ -203,23 +210,12 @@ bool rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& if( intersection.empty() ) { - return false; + return INTERSECT_NONE ; } - //intersectingRegion.create(intersection.size(), 2, CV_32F); - - // Mat ret = intersectingRegion.getMat(); - Mat(intersection).copyTo(intersectingRegion); -// size_t step = !m.isContinuous() ? m.step[0] : sizeof(Point2f); - -// for( size_t i = 0; i < intersection.size(); i++ ) -// { -// *(Point2f*)(m.data + i*step) = intersection[i]; -// } - - return true; + return ret; } } From cb16f733b9a8ce7ccc7da479abe71a17db2e6fbf Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Sun, 28 Jul 2013 15:31:58 +1000 Subject: [PATCH 04/23] Added C interface --- .../include/opencv2/imgproc/imgproc_c.h | 4 ++++ modules/imgproc/src/intersection.cpp | 21 ++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/modules/imgproc/include/opencv2/imgproc/imgproc_c.h b/modules/imgproc/include/opencv2/imgproc/imgproc_c.h index 4e2dc7142a..6417a00f38 100644 --- a/modules/imgproc/include/opencv2/imgproc/imgproc_c.h +++ b/modules/imgproc/include/opencv2/imgproc/imgproc_c.h @@ -615,6 +615,10 @@ CVAPI(CvSeq*) cvHoughCircles( CvArr* image, void* circle_storage, CVAPI(void) cvFitLine( const CvArr* points, int dist_type, double param, double reps, double aeps, float* line ); +/* Finds the intersecting region made by two rotated rectangles. + If there is an intersection the vertices of the region are returned. */ +CVAPI(int) cvRotatedRectangleIntersection( const CvBox2D* rect1, const CvBox2D* rect2, CvPoint2D32f intersectingRegion[8], int* pointCount ); + #ifdef __cplusplus } #endif diff --git a/modules/imgproc/src/intersection.cpp b/modules/imgproc/src/intersection.cpp index 7870f78299..f0f00e2cd1 100644 --- a/modules/imgproc/src/intersection.cpp +++ b/modules/imgproc/src/intersection.cpp @@ -49,7 +49,7 @@ namespace cv int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ) { - const float samePointEps = 0.00001; // used to test if two points are the same, due to numerical error + const float samePointEps = 0.00001; // used to test if two points are the same Point2f vec1[4], vec2[4]; Point2f pts1[4], pts2[4]; @@ -213,9 +213,28 @@ int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& r return INTERSECT_NONE ; } + // If this check fails then it means we're getting dupes, increase samePointEps + CV_Assert( intersection.size() <= 8 ); + Mat(intersection).copyTo(intersectingRegion); return ret; } +} // end namespace + +int cvRotatedRectangleIntersection( const CvBox2D* rect1, const CvBox2D* rect2, CvPoint2D32f intersectingRegion[8], int* pointCount ) +{ + std::vector pts; + + int ret = cv::rotatedRectangleIntersection( *rect1, *rect2, pts ); + + for( size_t i=0; i < pts.size(); i++ ) + { + intersectingRegion[i] = pts[i]; + } + + *pointCount = (int)pts.size(); + + return ret; } From 00f63fa8f7569fc03cc425ed838ad20f03006d2a Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Wed, 31 Jul 2013 23:08:02 +1000 Subject: [PATCH 05/23] Finished test code, added image to the doc --- ...uctural_analysis_and_shape_descriptors.rst | 30 +++++++++++++++++++ modules/imgproc/src/intersection.cpp | 28 +++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst b/modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst index 136d3e3df4..763b45bc8a 100644 --- a/modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst +++ b/modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst @@ -657,3 +657,33 @@ See below a sample output of the function where each image pixel is tested again .. [Suzuki85] Suzuki, S. and Abe, K., *Topological Structural Analysis of Digitized Binary Images by Border Following*. CVGIP 30 1, pp 32-46 (1985) .. [TehChin89] Teh, C.H. and Chin, R.T., *On the Detection of Dominant Points on Digital Curve*. PAMI 11 8, pp 859-872 (1989) + + + +rotatedRectangleIntersection +------------------------------- +Finds out if there is any intersection between two rotated rectangles. If there is then the vertices of the interesecting region are returned as well. + +.. ocv:function:: int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ) +.. ocv:pyfunction:: cv2.rotatedRectangleIntersection( rect1, rect2 ) -> retval, intersectingRegion +.. ocv:cfunction:: int cvRotatedRectangleIntersection( const CvBox2D* rect1, const CvBox2D* rect2, CvPoint2D32f intersectingRegion[8], int* pointCount ) + + :param rect1: First rectangle + + :param rect2: Second rectangle + + :param intersectingRegion: The output array of the verticies of the intersecting region. It returns at most 8 vertices. Stored as ``std::vector`` or ``cv::Mat`` as Mx1 of type CV_32FC2. + + :param pointCount: The number of vertices. + +The following values are returned by the function: + + * INTERSECT_NONE=0 - No intersection + + * INTERSECT_PARTIAL=1 - There is a partial intersection + + * INTERSECT_FULL=2 - One of the rectangle is fully enclosed in the other + +Below are some examples of intersection configurations. The hatched pattern indicates the intersecting region and the red vertices are returned by the function. + +.. image:: pics/intersection.png diff --git a/modules/imgproc/src/intersection.cpp b/modules/imgproc/src/intersection.cpp index f0f00e2cd1..f63f8230c3 100644 --- a/modules/imgproc/src/intersection.cpp +++ b/modules/imgproc/src/intersection.cpp @@ -61,6 +61,34 @@ int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& r int ret = INTERSECT_FULL; + // Specical case of rect1 == rect2 + { + bool same = true; + + for( int i = 0; i < 4; i++ ) + { + if( fabs(pts1[i].x - pts2[i].x) > samePointEps || (fabs(pts1[i].y - pts2[i].y) > samePointEps) ) + { + same = false; + break; + } + } + + if(same) + { + intersection.resize(4); + + for( int i = 0; i < 4; i++ ) + { + intersection[i] = pts1[i]; + } + + Mat(intersection).copyTo(intersectingRegion); + + return INTERSECT_FULL; + } + } + // Line vector // A line from p1 to p2 is: p1 + (p2-p1)*t, t=[0,1] for( int i = 0; i < 4; i++ ) From c0bbdde8bafef5c92a3b4a53571c7f29e90eb8c5 Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Wed, 31 Jul 2013 23:43:25 +1000 Subject: [PATCH 06/23] Added test cpp --- modules/imgproc/test/test_intersection.cpp | 499 +++++++++++++++++++++ 1 file changed, 499 insertions(+) create mode 100644 modules/imgproc/test/test_intersection.cpp diff --git a/modules/imgproc/test/test_intersection.cpp b/modules/imgproc/test/test_intersection.cpp new file mode 100644 index 0000000000..3a53d6f0c8 --- /dev/null +++ b/modules/imgproc/test/test_intersection.cpp @@ -0,0 +1,499 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2008-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// @Authors +// Nghia Ho, nghiaho12@yahoo.com +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of OpenCV Foundation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the OpenCV Foundation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#include "test_precomp.hpp" + +using namespace cv; +using namespace std; + +#define ACCURACY 0.00001 + +class CV_RotatedRectangleIntersectionTest: public cvtest::ArrayTest +{ +public: + +protected: + void run (int); + +private: + void test1(); + void test2(); + void test3(); + void test4(); + void test5(); + void test6(); + void test7(); + void test8(); + void test9(); +}; + +void CV_RotatedRectangleIntersectionTest::run(int) +{ + // See pics/intersection.png for the scenarios we are testing + + // Test the following scenarios: + // 1 - no intersection + // 2 - partial intersection, rectangle translated + // 3 - partial intersection, rectangle rotated 45 degree on the corner, forms a triangle intersection + // 4 - full intersection, rectangles of same size directly on top of each other + // 5 - partial intersection, rectangle on top rotated 45 degrees + // 6 - partial intersection, rectangle on top of different size + // 7 - full intersection, rectangle fully enclosed in the other + // 8 - partial intersection, rectangle corner just touching. point contact + // 9 - partial intersetion. rectangle side by side, line contact + + test1(); + test2(); + test3(); + test4(); + test5(); + test6(); + test7(); + test8(); + test9(); +} + +void CV_RotatedRectangleIntersectionTest::test1() +{ + // no intersection + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 12.0f; + + rect2.center.x = 10; + rect2.center.y = 10; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 34.0f; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_NONE); + CV_Assert(vertices.empty()); +} + +void CV_RotatedRectangleIntersectionTest::test2() +{ + // partial intersection, rectangles translated + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 1; + rect2.center.y = 1; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 4); + + vector possibleVertices(4); + + possibleVertices[0] = Point2f(0.0f, 0.0f); + possibleVertices[1] = Point2f(1.0f, 1.0f); + possibleVertices[2] = Point2f(0.0f, 1.0f); + possibleVertices[3] = Point2f(1.0f, 0.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test3() +{ + // partial intersection, rectangles rotated 45 degree on the corner, forms a triangle intersection + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 1; + rect2.center.y = 1; + rect2.size.width = sqrt(2.0f); + rect2.size.height = 20; + rect2.angle = 45.0f; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 3); + + vector possibleVertices(3); + + possibleVertices[0] = Point2f(1.0f, 1.0f); + possibleVertices[1] = Point2f(0.0f, 1.0f); + possibleVertices[2] = Point2f(1.0f, 0.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test4() +{ + // full intersection, rectangles of same size directly on top of each other + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 0; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_FULL); + CV_Assert(vertices.size() == 4); + + vector possibleVertices(4); + + possibleVertices[0] = Point2f(-1.0f, 1.0f); + possibleVertices[1] = Point2f(1.0f, -1.0f); + possibleVertices[2] = Point2f(-1.0f, -1.0f); + possibleVertices[3] = Point2f(1.0f, 1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test5() +{ + // partial intersection, rectangle on top rotated 45 degrees + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 0; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 45.0f; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 8); + + vector possibleVertices(8); + + possibleVertices[0] = Point2f(-1.0f, -0.414214f); + possibleVertices[1] = Point2f(-1.0f, 0.414214f); + possibleVertices[2] = Point2f(-0.414214f, -1.0f); + possibleVertices[3] = Point2f(0.414214f, -1.0f); + possibleVertices[4] = Point2f(1.0f, -0.414214f); + possibleVertices[5] = Point2f(1.0f, 0.414214f); + possibleVertices[6] = Point2f(0.414214f, 1.0f); + possibleVertices[7] = Point2f(-0.414214f, 1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test6() +{ + // 6 - partial intersection, rectangle on top of different size + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 0; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 10; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 4); + + vector possibleVertices(4); + + possibleVertices[0] = Point2f(1.0f, 1.0f); + possibleVertices[1] = Point2f(1.0f, -1.0f); + possibleVertices[2] = Point2f(-1.0f, -1.0f); + possibleVertices[3] = Point2f(-1.0f, 1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test7() +{ + // full intersection, rectangle fully enclosed in the other + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 12.34; + rect1.size.height = 56.78; + rect1.angle = 0; + + rect2.center.x = 0; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_FULL); + CV_Assert(vertices.size() == 4); + + vector possibleVertices(4); + + possibleVertices[0] = Point2f(1.0f, 1.0f); + possibleVertices[1] = Point2f(1.0f, -1.0f); + possibleVertices[2] = Point2f(-1.0f, -1.0f); + possibleVertices[3] = Point2f(-1.0f, 1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test8() +{ + // full intersection, rectangle fully enclosed in the other + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 2; + rect2.center.y = 2; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 1); + + double dx = vertices[0].x - 1; + double dy = vertices[0].y - 1; + double r = sqrt(dx*dx + dy*dy); + + CV_Assert(r < ACCURACY); +} + +void CV_RotatedRectangleIntersectionTest::test9() +{ + // full intersection, rectangle fully enclosed in the other + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 2; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 123.45; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 2); + + vector possibleVertices(2); + + possibleVertices[0] = Point2f(1.0f, 1.0f); + possibleVertices[1] = Point2f(1.0f, -1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +TEST (Imgproc_RotatedRectangleIntersection, accuracy) { CV_RotatedRectangleIntersectionTest test; test.safe_run(); } From bc3dd2452f41900f03348486b83c4d917c8f3964 Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Wed, 31 Jul 2013 23:43:25 +1000 Subject: [PATCH 07/23] Added test cpp --- modules/imgproc/doc/pics/intersection.png | Bin 0 -> 32696 bytes modules/imgproc/test/test_intersection.cpp | 499 +++++++++++++++++++++ 2 files changed, 499 insertions(+) create mode 100644 modules/imgproc/doc/pics/intersection.png create mode 100644 modules/imgproc/test/test_intersection.cpp diff --git a/modules/imgproc/doc/pics/intersection.png b/modules/imgproc/doc/pics/intersection.png new file mode 100644 index 0000000000000000000000000000000000000000..4d1367c55e4dcebcd798d331b4a1ad9d97709694 GIT binary patch literal 32696 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

9Pq^EOkj^*9E(elf0)ONnyv&r%C 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 literal 0 HcmV?d00001 diff --git a/modules/imgproc/test/test_intersection.cpp b/modules/imgproc/test/test_intersection.cpp new file mode 100644 index 0000000000..3a53d6f0c8 --- /dev/null +++ b/modules/imgproc/test/test_intersection.cpp @@ -0,0 +1,499 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2008-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// @Authors +// Nghia Ho, nghiaho12@yahoo.com +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of OpenCV Foundation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the OpenCV Foundation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#include "test_precomp.hpp" + +using namespace cv; +using namespace std; + +#define ACCURACY 0.00001 + +class CV_RotatedRectangleIntersectionTest: public cvtest::ArrayTest +{ +public: + +protected: + void run (int); + +private: + void test1(); + void test2(); + void test3(); + void test4(); + void test5(); + void test6(); + void test7(); + void test8(); + void test9(); +}; + +void CV_RotatedRectangleIntersectionTest::run(int) +{ + // See pics/intersection.png for the scenarios we are testing + + // Test the following scenarios: + // 1 - no intersection + // 2 - partial intersection, rectangle translated + // 3 - partial intersection, rectangle rotated 45 degree on the corner, forms a triangle intersection + // 4 - full intersection, rectangles of same size directly on top of each other + // 5 - partial intersection, rectangle on top rotated 45 degrees + // 6 - partial intersection, rectangle on top of different size + // 7 - full intersection, rectangle fully enclosed in the other + // 8 - partial intersection, rectangle corner just touching. point contact + // 9 - partial intersetion. rectangle side by side, line contact + + test1(); + test2(); + test3(); + test4(); + test5(); + test6(); + test7(); + test8(); + test9(); +} + +void CV_RotatedRectangleIntersectionTest::test1() +{ + // no intersection + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 12.0f; + + rect2.center.x = 10; + rect2.center.y = 10; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 34.0f; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_NONE); + CV_Assert(vertices.empty()); +} + +void CV_RotatedRectangleIntersectionTest::test2() +{ + // partial intersection, rectangles translated + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 1; + rect2.center.y = 1; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 4); + + vector possibleVertices(4); + + possibleVertices[0] = Point2f(0.0f, 0.0f); + possibleVertices[1] = Point2f(1.0f, 1.0f); + possibleVertices[2] = Point2f(0.0f, 1.0f); + possibleVertices[3] = Point2f(1.0f, 0.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test3() +{ + // partial intersection, rectangles rotated 45 degree on the corner, forms a triangle intersection + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 1; + rect2.center.y = 1; + rect2.size.width = sqrt(2.0f); + rect2.size.height = 20; + rect2.angle = 45.0f; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 3); + + vector possibleVertices(3); + + possibleVertices[0] = Point2f(1.0f, 1.0f); + possibleVertices[1] = Point2f(0.0f, 1.0f); + possibleVertices[2] = Point2f(1.0f, 0.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test4() +{ + // full intersection, rectangles of same size directly on top of each other + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 0; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_FULL); + CV_Assert(vertices.size() == 4); + + vector possibleVertices(4); + + possibleVertices[0] = Point2f(-1.0f, 1.0f); + possibleVertices[1] = Point2f(1.0f, -1.0f); + possibleVertices[2] = Point2f(-1.0f, -1.0f); + possibleVertices[3] = Point2f(1.0f, 1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test5() +{ + // partial intersection, rectangle on top rotated 45 degrees + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 0; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 45.0f; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 8); + + vector possibleVertices(8); + + possibleVertices[0] = Point2f(-1.0f, -0.414214f); + possibleVertices[1] = Point2f(-1.0f, 0.414214f); + possibleVertices[2] = Point2f(-0.414214f, -1.0f); + possibleVertices[3] = Point2f(0.414214f, -1.0f); + possibleVertices[4] = Point2f(1.0f, -0.414214f); + possibleVertices[5] = Point2f(1.0f, 0.414214f); + possibleVertices[6] = Point2f(0.414214f, 1.0f); + possibleVertices[7] = Point2f(-0.414214f, 1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test6() +{ + // 6 - partial intersection, rectangle on top of different size + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 0; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 10; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 4); + + vector possibleVertices(4); + + possibleVertices[0] = Point2f(1.0f, 1.0f); + possibleVertices[1] = Point2f(1.0f, -1.0f); + possibleVertices[2] = Point2f(-1.0f, -1.0f); + possibleVertices[3] = Point2f(-1.0f, 1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test7() +{ + // full intersection, rectangle fully enclosed in the other + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 12.34; + rect1.size.height = 56.78; + rect1.angle = 0; + + rect2.center.x = 0; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_FULL); + CV_Assert(vertices.size() == 4); + + vector possibleVertices(4); + + possibleVertices[0] = Point2f(1.0f, 1.0f); + possibleVertices[1] = Point2f(1.0f, -1.0f); + possibleVertices[2] = Point2f(-1.0f, -1.0f); + possibleVertices[3] = Point2f(-1.0f, 1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +void CV_RotatedRectangleIntersectionTest::test8() +{ + // full intersection, rectangle fully enclosed in the other + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 2; + rect2.center.y = 2; + rect2.size.width = 2; + rect2.size.height = 2; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 1); + + double dx = vertices[0].x - 1; + double dy = vertices[0].y - 1; + double r = sqrt(dx*dx + dy*dy); + + CV_Assert(r < ACCURACY); +} + +void CV_RotatedRectangleIntersectionTest::test9() +{ + // full intersection, rectangle fully enclosed in the other + + RotatedRect rect1, rect2; + + rect1.center.x = 0; + rect1.center.y = 0; + rect1.size.width = 2; + rect1.size.height = 2; + rect1.angle = 0; + + rect2.center.x = 2; + rect2.center.y = 0; + rect2.size.width = 2; + rect2.size.height = 123.45; + rect2.angle = 0; + + vector vertices; + + int ret = rotatedRectangleIntersection(rect1, rect2, vertices); + + CV_Assert(ret == INTERSECT_PARTIAL); + CV_Assert(vertices.size() == 2); + + vector possibleVertices(2); + + possibleVertices[0] = Point2f(1.0f, 1.0f); + possibleVertices[1] = Point2f(1.0f, -1.0f); + + for( size_t i = 0; i < vertices.size(); i++ ) + { + double bestR = DBL_MAX; + + for( size_t j = 0; j < possibleVertices.size(); j++ ) + { + double dx = vertices[i].x - possibleVertices[j].x; + double dy = vertices[i].y - possibleVertices[j].y; + double r = sqrt(dx*dx + dy*dy); + + bestR = std::min(bestR, r); + } + + CV_Assert(bestR < ACCURACY); + } +} + +TEST (Imgproc_RotatedRectangleIntersection, accuracy) { CV_RotatedRectangleIntersectionTest test; test.safe_run(); } From 18e7aa5d195b210a74628c10f10b0841471e59b2 Mon Sep 17 00:00:00 2001 From: Nghia Date: Wed, 7 Aug 2013 14:57:12 +1000 Subject: [PATCH 08/23] Update intersection.cpp Added #ifdef _WIN32 for finite number testing --- modules/imgproc/src/intersection.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/imgproc/src/intersection.cpp b/modules/imgproc/src/intersection.cpp index f63f8230c3..817fc8a368 100644 --- a/modules/imgproc/src/intersection.cpp +++ b/modules/imgproc/src/intersection.cpp @@ -121,7 +121,11 @@ int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& r float t2 = (vx1*y21 - vy1*x21) / det; // This takes care of parallel lines +#ifdef _WIN32 + if( !_finite(t1) || ! _finite(t2) ) +#else if( !std::isfinite(t1) || !std::isfinite(t2) ) +#endif { continue; } From 95ee02ba8e7d35c578fbce2d4e3d7b19d0b2eca3 Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Thu, 8 Aug 2013 01:33:21 +1000 Subject: [PATCH 09/23] Added extra comment to test buildbot --- modules/imgproc/src/intersection.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/imgproc/src/intersection.cpp b/modules/imgproc/src/intersection.cpp index 817fc8a368..6e409c1680 100644 --- a/modules/imgproc/src/intersection.cpp +++ b/modules/imgproc/src/intersection.cpp @@ -121,6 +121,7 @@ int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& r float t2 = (vx1*y21 - vy1*x21) / det; // This takes care of parallel lines + // MSVC does not have std::infinite? #ifdef _WIN32 if( !_finite(t1) || ! _finite(t2) ) #else From 79965c9ee9eade95623a028820c7c1a899919ba2 Mon Sep 17 00:00:00 2001 From: Nghia Ho Date: Tue, 13 Aug 2013 21:26:21 +1000 Subject: [PATCH 10/23] Replaced isfinite() with cvIsInf and cvIsNan --- modules/imgproc/src/intersection.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/modules/imgproc/src/intersection.cpp b/modules/imgproc/src/intersection.cpp index 6e409c1680..d1b80b15c7 100644 --- a/modules/imgproc/src/intersection.cpp +++ b/modules/imgproc/src/intersection.cpp @@ -121,12 +121,7 @@ int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& r float t2 = (vx1*y21 - vy1*x21) / det; // This takes care of parallel lines - // MSVC does not have std::infinite? -#ifdef _WIN32 - if( !_finite(t1) || ! _finite(t2) ) -#else - if( !std::isfinite(t1) || !std::isfinite(t2) ) -#endif + if( cvIsInf(t1) || cvIsInf(t2) || cvIsNaN(t1) || cvIsNaN(t2) ) { continue; } From 449b4d8a65fe7143d13fc844732f20099ffbd9e1 Mon Sep 17 00:00:00 2001 From: zio dodo Date: Wed, 21 Aug 2013 12:06:48 +0200 Subject: [PATCH 11/23] Added the tutorial on background subtraction, in the video section --- doc/conf.py | 6 +- doc/tutorials/definitions/tocDefinitions.rst | 1 + .../background_subtraction.rst | 394 ++++++++++++++++++ ...ckground_Subtraction_Tutorial_Result_1.png | Bin 0 -> 144597 bytes ...ckground_Subtraction_Tutorial_Result_2.png | Bin 0 -> 162431 bytes ...Background_Subtraction_Tutorial_Scheme.png | Bin 0 -> 79560 bytes .../Background_Subtraction_Tutorial_Cover.jpg | Bin 0 -> 2719 bytes .../table_of_content_video.rst | 29 +- modules/stitching/src/motion_estimators.cpp | 2 +- samples/cpp/tutorial_code/video/bg_sub.cpp | 172 ++++++++ 10 files changed, 599 insertions(+), 5 deletions(-) create mode 100644 doc/tutorials/video/background_subtraction/background_subtraction.rst create mode 100644 doc/tutorials/video/background_subtraction/images/Background_Subtraction_Tutorial_Result_1.png create mode 100644 doc/tutorials/video/background_subtraction/images/Background_Subtraction_Tutorial_Result_2.png create mode 100644 doc/tutorials/video/background_subtraction/images/Background_Subtraction_Tutorial_Scheme.png create mode 100644 doc/tutorials/video/table_of_content_video/images/Background_Subtraction_Tutorial_Cover.jpg create mode 100644 samples/cpp/tutorial_code/video/bg_sub.cpp diff --git a/doc/conf.py b/doc/conf.py index 312a1c2b9e..ff683cc6b7 100755 --- a/doc/conf.py +++ b/doc/conf.py @@ -401,5 +401,7 @@ extlinks = { 'brute_force_matcher' : ('http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html?highlight=bruteforcematcher#bruteforcematcher%s', None ), 'cascade_classifier' : ('http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html?highlight=cascadeclassifier#cascadeclassifier%s', None ), 'cascade_classifier_load' : ('http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html?highlight=load#cascadeclassifier-load%s', None ), - 'cascade_classifier_detect_multiscale' : ('http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html?highlight=detectmultiscale#cascadeclassifier-detectmultiscale%s', None ) - } + 'cascade_classifier_detect_multiscale' : ('http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html?highlight=detectmultiscale#cascadeclassifier-detectmultiscale%s', None ), + 'background_subtractor' : ('http://opencv.itseez.com/modules/video/doc/motion_analysis_and_object_tracking.html?highlight=backgroundsubtractor#backgroundsubtractor%s', None), + 'video_capture' : ('http://opencv.itseez.com/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=videocapture#videocapture%s', None) + } diff --git a/doc/tutorials/definitions/tocDefinitions.rst b/doc/tutorials/definitions/tocDefinitions.rst index 4695623cca..c918aa2e8b 100644 --- a/doc/tutorials/definitions/tocDefinitions.rst +++ b/doc/tutorials/definitions/tocDefinitions.rst @@ -11,3 +11,4 @@ .. |Author_EricCh| unicode:: Eric U+0020 Christiansen .. |Author_AndreyP| unicode:: Andrey U+0020 Pavlenko .. |Author_AlexS| unicode:: Alexander U+0020 Smorkalov +.. |Author_DomenicoB| unicode:: Domenico U+0020 Daniele U+0020 Bloisi diff --git a/doc/tutorials/video/background_subtraction/background_subtraction.rst b/doc/tutorials/video/background_subtraction/background_subtraction.rst new file mode 100644 index 0000000000..864cca60cb --- /dev/null +++ b/doc/tutorials/video/background_subtraction/background_subtraction.rst @@ -0,0 +1,394 @@ +.. _Background_Subtraction: + +How to Use Background Subtraction Methods +***************************************** + +* Background subtraction (BS) is a common and widely used technique for generating a foreground mask (namely, a binary image containing the pixels belonging to moving objects in the scene) by using static cameras. + +* As the name suggests, BS calculates the foreground mask performing a subtraction between the current frame and a background model, containing the static part of the scene or, more in general, everything that can be considered as background given the characteristics of the observed scene. + + .. image:: images/Background_Subtraction_Tutorial_Scheme.png + :alt: Background Subtraction - General Scheme + :align: center + +* Background modeling consists of two main steps: + + #. Background Initialization; + #. Background Update. + + In the first step, an initial model of the background is computed, while in the second step that model is updated in order to adapt to possible changes in the scene. + +* In this tutorial we will learn how to perform BS by using OpenCV. As input, we will use data coming from the publicly available data set `Background Models Challenge (BMC) `_ . + +Goals +====== + +In this tutorial you will learn how to: + + #. Read data from videos by using :video_capture:`VideoCapture <>` or image sequences by using :imread:`imread <>`; + #. Create and update the background model by using :background_subtractor:`BackgroundSubtractor <>` class; + #. Get and show the foreground mask by using :imshow:`imshow <>`; + #. Save the output by using :imwrite:`imwrite <>` to quantitatively evaluate the results. + +Code +===== + +In the following you can find the source code. We will let the user chose to process either a video file or a sequence of images. + +* Two different methods are used to generate two foreground masks: + #. MOG + #. MOG2 +The results as well as the input data are shown on the screen. + +.. code-block:: cpp + + //opencv + #include + #include + #include + //C + #include + //C++ + #include + #include + + using namespace cv; + using namespace std; + + //global variables + Mat frame; //current frame + Mat fgMaskMOG; //fg mask generated by MOG method + Mat fgMaskMOG2; //fg mask fg mask generated by MOG2 method + Ptr pMOG; //MOG Background subtractor + Ptr pMOG2; //MOG2 Background subtractor + int keyboard; + + //function declarations + void help(); + void processVideo(char* videoFilename); + void processImages(char* firstFrameFilename); + + void help() + { + cout + << "--------------------------------------------------------------------------" << endl + << "This program shows how to use background subtraction methods provided by " << endl + << " OpenCV. You can process both videos (-vid) and images (-img)." << endl + << endl + << "Usage:" << endl + << "./bs {-vid

k=P7G~k`dSR;n7lDho6Q@=nvWsej;WiJD7QP2KS~Mwfl8D>Fohj(*o-Px z1>OjvXY1=%WKykd8OWW|0UMdH7dg`Z|F`!Z;8EP?_W%9;?*HE3%`Hi85-0ABsxH)# zgbJuqgaqmp^^ODrBzi9rRrKC_HyHOCJMI;5w`1%$iF@zu{eRxs9cfr35X}a&dY<>0 z+1c6Inc30q_sn_EIe>&x+L|h=0;RG#hylL8R1fV*SX{VN*N|#GG=%EObN-YslJta zM)Cn01x0=U4?naXv|SmDh>Ff(KX9+gFAN44AtFaCo}V8sxjCU|9I%5ePnLqRB!uR1 z4D5Sjv5OnjfKb|;Uo5Wxx=eN5M`H;R{syZCyz7!F__ z+M-5FR(C}F*ST~Tzi8NmvIg-UzEb=eHcC+aS_v4oM0~5}Nm%_#32#^)92g@tXiV}35ndSFgZvXu3GU?& z5bY)5q_6h|#0&(4WFum)sTv~Hv|Hr^LMmweswEV0bX^tNi)vXhccScAOTzh_2HCP| zy1er29rES7N92RQJ|b@&zDNGNe}gp7nt*FnwM-aZCKUx~QbpTTW_n)<>FFi`0WR!k z2yJiy;_2T7EsMVt;8;}(@F=LNl)Tas+Ujy8H7f&MP>Lj{4rCvD(jM0XW{zXQ=67KK z2ksoH5yojTP3A5T8{q#QeTOm^+sb>1Cme(3``J-$;iAg>&g zmp}bMo(F)u-NJx40m!9rZCq%_XgWkG6XLjULx&EPZ?U#_{QK^^?_~Gx-9~%XxjG)* zkMr$@)z-c$0MY-~wiuvub!_cz=d1z94dh|`;SYomUWVA5QZQo9|LKo5rz;bHsKxFT z)RkH+zfxHc3kbR5avSJSP;wH=V(k)GgOW0T29fDT{sFO

tCcc8<1oc@hSw?~6`hL|>^L-j99ngP1v- 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%0D3}^X2{fGY= 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 literal 0 HcmV?d00001 diff --git a/doc/tutorials/video/background_subtraction/images/Background_Subtraction_Tutorial_Result_2.png b/doc/tutorials/video/background_subtraction/images/Background_Subtraction_Tutorial_Result_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ed95ddec371617f095a03b8a706d7698303441ae GIT binary patch literal 162431 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 JZ;1j9{|j?Q)7bz3 literal 0 HcmV?d00001 diff --git a/doc/tutorials/video/table_of_content_video/table_of_content_video.rst b/doc/tutorials/video/table_of_content_video/table_of_content_video.rst index a2521d6956..1965654196 100644 --- a/doc/tutorials/video/table_of_content_video/table_of_content_video.rst +++ b/doc/tutorials/video/table_of_content_video/table_of_content_video.rst @@ -3,10 +3,35 @@ *video* module. Video analysis ----------------------------------------------------------- -Look here in order to find use on your video stream algoritms like: motion extraction, feature tracking and foreground extractions. +Look here in order to find use on your video stream algoritms like: motion extraction, feature tracking and foreground extractions. -.. include:: ../../definitions/noContent.rst +.. include:: ../../definitions/tocDefinitions.rst + ++ + .. tabularcolumns:: m{100pt} m{300pt} + .. cssclass:: toctableopencv + + =============== ====================================================== + |BgSub| **Title:** :ref:`Background_Subtraction` + + *Compatibility:* > OpenCV 2.4.5 + + *Author:* |Author_DomenicoB| + + We will learn how to extract foreground masks from both videos and sequences of images and to show them. + + =============== ====================================================== + + .. |BgSub| image:: images/Background_Subtraction_Tutorial_Cover.jpg + :height: 90pt + :width: 90pt .. raw:: latex \pagebreak + +.. toctree:: + :hidden: + + ../background_subtraction/background_subtraction + diff --git a/modules/stitching/src/motion_estimators.cpp b/modules/stitching/src/motion_estimators.cpp index abd43b11fb..b09253c1eb 100644 --- a/modules/stitching/src/motion_estimators.cpp +++ b/modules/stitching/src/motion_estimators.cpp @@ -259,7 +259,7 @@ bool BundleAdjusterBase::estimate(const std::vector &features, bool ok = true; for (int i = 0; i < cam_params_.rows; ++i) { - if (isnan(cam_params_.at(i,0))) + if (std::isnan(cam_params_.at(i,0))) { ok = false; break; diff --git a/samples/cpp/tutorial_code/video/bg_sub.cpp b/samples/cpp/tutorial_code/video/bg_sub.cpp new file mode 100644 index 0000000000..7d2375e44a --- /dev/null +++ b/samples/cpp/tutorial_code/video/bg_sub.cpp @@ -0,0 +1,172 @@ +//opencv +#include +#include +#include +//C +#include +//C++ +#include +#include + +using namespace cv; +using namespace std; + +//global variables +Mat frame; //current frame +Mat fgMaskMOG; //fg mask generated by MOG method +Mat fgMaskMOG2; //fg mask fg mask generated by MOG2 method +Ptr pMOG; //MOG Background subtractor +Ptr pMOG2; //MOG2 Background subtractor +int keyboard; //input from keyboard + +//function declarations +void help(); +void processVideo(char* videoFilename); +void processImages(char* firstFrameFilename); + +void help() +{ + cout + << "--------------------------------------------------------------------------" << endl + << "This program shows how to use background subtraction methods provided by " << endl + << " OpenCV. You can process both videos (-vid) and images (-img)." << endl + << endl + << "Usage:" << endl + << "./bs {-vid