42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
|
#!/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())
|