tostring.py

Test Case for tostring() image corruption in python bindings - Daniele Paganelli, 2011-11-25 12:29 pm

Download (2.1 kB)

 
1
#!/usr/bin/python
2
# -*- coding: utf-8 -*-
3
import unittest
4
import cv
5
class Creating(unittest.TestCase):
6
        size=(640, 480)
7
        repeat=100
8
        def test_0_Create(self):
9
                image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
10
                cnt=cv.CountNonZero(image)
11
                self.assertEqual(cnt, 0, msg="Created image is not black. CountNonZero=%i" % cnt)
12
13
        def test_2_CreateRepeat(self):
14
                cnt=0
15
                for i in range(self.repeat):
16
                        image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
17
                        cnt+=cv.CountNonZero(image)
18
                self.assertEqual(cnt, 0, msg="Created images are not black. Mean CountNonZero=%.3f" % (1.*cnt/self.repeat))
19
                
20
        def test_2a_MemCreated(self):
21
                cnt=0
22
                v=[]
23
                for i in range(self.repeat):
24
                        image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
25
                        cv.FillPoly(image, [[(0, 0), (0, 100), (100, 0)]], 0)
26
                        cnt+=cv.CountNonZero(image)
27
                        v.append(image)
28
                self.assertEqual(cnt, 0, msg="Memorized images are not black. Mean CountNonZero=%.3f" % (1.*cnt/self.repeat))
29
                
30
        def test_3_tostirng(self):
31
                image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
32
                image.tostring()
33
                cnt=cv.CountNonZero(image)
34
                self.assertEqual(cnt, 0, msg="After tostring(): CountNonZero=%i" % cnt)
35
                
36
        def test_40_tostringRepeat(self):
37
                cnt=0
38
                image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
39
                for i in range(self.repeat*100):
40
                        image.tostring()
41
                cnt=cv.CountNonZero(image)
42
                self.assertEqual(cnt, 0, msg="Repeating tostring(): Mean CountNonZero=%.3f" % (1.*cnt/self.repeat))
43
                
44
        def test_41_CreateToStringRepeat(self):
45
                cnt=0
46
                for i in range(self.repeat*100):
47
                        image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
48
                        image.tostring()
49
                        cnt+=cv.CountNonZero(image)
50
                self.assertEqual(cnt, 0, msg="Repeating create and tostring(): Mean CountNonZero=%.3f" % (1.*cnt/self.repeat))
51
                
52
        def test_4a_MemCreatedToString(self):
53
                cnt=0
54
                v=[]
55
                for i in range(self.repeat):
56
                        image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
57
                        image.tostring()
58
                        cnt+=cv.CountNonZero(image)
59
                        v.append(image)
60
                self.assertEqual(cnt, 0, msg="Repeating and memorizing after tostring(): Mean CountNonZero=%.3f" % (1.*cnt/self.repeat))
61
                
62
                
63
if __name__ == "__main__":
64
    unittest.main()