Update to 2.0.0 tree from current Fremantle build
[opencv] / tests / swig_python / histogram_tests.py
1 #!/usr/bin/env python
2 import unittest
3 import sys
4 import os
5 import cvtestutils
6 from cv import cvCreateHist, cvGetSize, cvCreateImage, cvCvtColor, cvSplit, cvCalcHist, cvCalcArrHist, CV_HIST_ARRAY
7 from highgui import cvLoadImage
8
9 image_fname = os.path.join( cvtestutils.datadir(), 'images', 'baboon_256x256.bmp' )
10 class HistogramTestCase( unittest.TestCase ):
11     def setUp(self):
12         frame = cvLoadImage( image_fname )
13         frame_size = cvGetSize( frame )
14         r = cvCreateImage (frame_size, 8, 1)
15         g = cvCreateImage (frame_size, 8, 1)
16         b = cvCreateImage (frame_size, 8, 1)
17
18         cvSplit( frame, r, g, b, None)
19         self.rgb = (r,g,b)
20         assert(frame is not None)
21
22         hist_size = [64, 64, 64]
23         ranges = [ [0, 255], [0, 255], [0, 255] ]
24         self.hist = cvCreateHist( hist_size, CV_HIST_ARRAY, ranges, 1 )
25
26     def test_cvCreateHist( self ):
27         assert( self.hist is not None )
28
29     def test_cvCalcArrHist(self):
30         cvCalcArrHist( self.rgb, self.hist, 0, None)
31
32     def test_cvCalcHist(self):
33         cvCalcHist( self.rgb, self.hist, 0, None)
34
35 def suite():
36     tests = ['test_cvCreateHist', 'test_cvCalcArrHist', 'test_cvCalcHist']
37     return unittest.TestSuite( map(HistogramTestCase, tests))
38
39 if __name__ == '__main__':
40     unittest.TextTestRunner(verbosity=2).run(suite())