Update to 2.0.0 tree from current Fremantle build
[opencv] / tests / swig_python / histogram_tests.py
diff --git a/tests/swig_python/histogram_tests.py b/tests/swig_python/histogram_tests.py
new file mode 100755 (executable)
index 0000000..3692482
--- /dev/null
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+import unittest
+import sys
+import os
+import cvtestutils
+from cv import cvCreateHist, cvGetSize, cvCreateImage, cvCvtColor, cvSplit, cvCalcHist, cvCalcArrHist, CV_HIST_ARRAY
+from highgui import cvLoadImage
+
+image_fname = os.path.join( cvtestutils.datadir(), 'images', 'baboon_256x256.bmp' )
+class HistogramTestCase( unittest.TestCase ):
+    def setUp(self):
+        frame = cvLoadImage( image_fname )
+        frame_size = cvGetSize( frame )
+        r = cvCreateImage (frame_size, 8, 1)
+        g = cvCreateImage (frame_size, 8, 1)
+        b = cvCreateImage (frame_size, 8, 1)
+
+        cvSplit( frame, r, g, b, None)
+        self.rgb = (r,g,b)
+        assert(frame is not None)
+
+        hist_size = [64, 64, 64]
+        ranges = [ [0, 255], [0, 255], [0, 255] ]
+        self.hist = cvCreateHist( hist_size, CV_HIST_ARRAY, ranges, 1 )
+
+    def test_cvCreateHist( self ):
+        assert( self.hist is not None )
+
+    def test_cvCalcArrHist(self):
+        cvCalcArrHist( self.rgb, self.hist, 0, None)
+
+    def test_cvCalcHist(self):
+        cvCalcHist( self.rgb, self.hist, 0, None)
+
+def suite():
+    tests = ['test_cvCreateHist', 'test_cvCalcArrHist', 'test_cvCalcHist']
+    return unittest.TestSuite( map(HistogramTestCase, tests))
+
+if __name__ == '__main__':
+    unittest.TextTestRunner(verbosity=2).run(suite())