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)
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)
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
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))
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))
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))
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))
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)