Update to 2.0.0 tree from current Fremantle build
[opencv] / tests / swig_python / moments_tests.py
diff --git a/tests/swig_python/moments_tests.py b/tests/swig_python/moments_tests.py
new file mode 100755 (executable)
index 0000000..ee067b2
--- /dev/null
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+import cvtestutils
+import unittest
+from cv import *
+
+class moments_test(unittest.TestCase):
+    def setUp(self):
+        # create an image
+        img = cvCreateMat(100,100,CV_8U);
+
+        cvZero( img )
+        # draw a rectangle in the middle
+        cvRectangle( img, cvPoint( 25, 25 ), cvPoint( 75, 75 ), CV_RGB(255,255,255), -1 );
+        
+        self.img = img
+
+        # create the storage area
+        self.storage = cvCreateMemStorage (0)
+
+        # find the contours
+        nb_contours, self.contours = cvFindContours (img,
+            self.storage,
+            sizeof_CvContour,
+            CV_RETR_LIST,
+            CV_CHAIN_APPROX_SIMPLE,
+            cvPoint (0,0))
+
+    def test_cvMoments_CvMat( self ):
+        m = CvMoments()
+        cvMoments( self.img, m, 1 )
+    def test_cvMoments_CvSeq( self ):
+        m = CvMoments()
+        # Now test with CvSeq
+        for contour in self.contours.hrange():
+            cvMoments( contour, m, 1 )
+
+def suite():
+    return unittest.TestLoader().loadTestsFromTestCase(moments_test)
+
+if __name__ == '__main__':
+    unittest.TextTestRunner(verbosity=2).run(suite())