示例#1
0
    def test_divider(self):
        image = cv.LoadImage(
            os.path.abspath(os.environ['BORG'] +
                            '/Brain/data/hog_test/noface.jpg'))
        subRect = (0, 0, 250, 187)
        subimage = self.divider.crop(image, subRect)
        subimage1 = image

        result = self.divider.divide(image, 2, 2)

        if cv.GetSize(subimage) != cv.GetSize(result[0]):
            self.fail(
                "The subimage sizes are not correct. Either correctly crop the image manually or check divider function"
            )

        dif = cv.CreateImage(cv.GetSize(subimage), cv.IPL_DEPTH_8U, 3)
        dif2 = cv.CreateImage(cv.GetSize(subimage), cv.IPL_DEPTH_8U, 3)

        cv.AbsDiff(subimage, result[0], dif)
        cv.Threshold(dif, dif2, 50, 255, cv.CV_THRESH_TOZERO)
        for i in range(3):
            cv.SetImageCOI(dif2, i + 1)
            n_nonzero = cv.CountNonZero(dif2)

        if n_nonzero < 400:
            threshold = 0
        else:
            threshold = 1
            self.assertEqual(threshold, 0, "The subimages are different")

        result = self.divider.divide(image, 4, 4, option="pro")
        print len(result)
        print result

        dif = cv.CreateImage(cv.GetSize(subimage1), cv.IPL_DEPTH_8U, 3)
        dif2 = cv.CreateImage(cv.GetSize(subimage1), cv.IPL_DEPTH_8U, 3)

        cv.AbsDiff(subimage1, result[0], dif)
        cv.Threshold(dif, dif2, 50, 255, cv.CV_THRESH_TOZERO)
        for i in range(3):
            cv.SetImageCOI(dif2, i + 1)
            n_nonzero = cv.CountNonZero(dif2)

        if n_nonzero < 400:
            threshold = 0
        else:
            threshold = 1
            self.assertEqual(threshold, 0, "The subimages are different")

        result = self.divider.divide(image, 4, 4, option="pro", overlap=10)
示例#2
0
 def test_0_Create(self):
     image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
     cnt = cv.CountNonZero(image)
     self.assertEqual(cnt,
                      0,
                      msg="Created image is not black. CountNonZero=%i" %
                      cnt)
示例#3
0
 def somethingHasMoved(self):
     nb = 0  #Will hold the number of black pixels
     min_threshold = (
         self.nb_pixels /
         100) * self.threshold  #Number of pixels for current threshold
     nb = self.nb_pixels - cv.CountNonZero(self.res)
     if (nb) > min_threshold:
         return True
     else:
         return False
示例#4
0
 def test_2_CreateRepeat(self):
     cnt = 0
     for i in range(self.repeat):
         image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
         cnt += cv.CountNonZero(image)
     self.assertEqual(
         cnt,
         0,
         msg="Created images are not black. Mean CountNonZero=%.3f" %
         (1. * cnt / self.repeat))
示例#5
0
 def test_40_tostringRepeat(self):
     cnt = 0
     image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
     cv.Set(image, cv.Scalar(0, 0, 0, 0))
     for i in range(self.repeat * 100):
         image.tostring()
     cnt = cv.CountNonZero(image)
     self.assertEqual(cnt,
                      0,
                      msg="Repeating tostring(): Mean CountNonZero=%.3f" %
                      (1. * cnt / self.repeat))
示例#6
0
 def test_2a_MemCreated(self):
     cnt = 0
     v = []
     for i in range(self.repeat):
         image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
         cv.FillPoly(image, [[(0, 0), (0, 100), (100, 0)]], 0)
         cnt += cv.CountNonZero(image)
         v.append(image)
     self.assertEqual(
         cnt,
         0,
         msg="Memorized images are not black. Mean CountNonZero=%.3f" %
         (1. * cnt / self.repeat))
示例#7
0
 def test_4a_MemCreatedToString(self):
     cnt = 0
     v = []
     for i in range(self.repeat):
         image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
         cv.Set(image, cv.Scalar(0, 0, 0, 0))
         image.tostring()
         cnt += cv.CountNonZero(image)
         v.append(image)
     self.assertEqual(
         cnt,
         0,
         msg=
         "Repeating and memorizing after tostring(): Mean CountNonZero=%.3f"
         % (1. * cnt / self.repeat))
示例#8
0
 def test_3_tostirng(self):
     image = cv.CreateImage(self.size, cv.IPL_DEPTH_8U, 1)
     image.tostring()
     cnt = cv.CountNonZero(image)
     self.assertEqual(cnt, 0, msg="After tostring(): CountNonZero=%i" % cnt)