Пример #1
0
 def test_filter_too_close_candidates_equals_aruco_method(self):
     candidates, contours = aruco._detectInitialCandidates(self.gray)
     # Use own method to simulate reordering of corners, since Aruco function is not working
     MarkerDetectPar._reorder_candidate_corners(candidates)
     # Get test and true values
     true_cand, true_cont = aruco._filterTooCloseCandidates(
         candidates, contours,
         MarkerDetectPar.params[MarkerDetectPar.minMarkerDistanceRate])
     test_cand, test_cont = MarkerDetectPar._filter_too_close_candidates(
         candidates, contours)
     # Assert equality
     np.testing.assert_allclose(test_cand, true_cand)
     np.testing.assert_array_equal(true_cand, true_cont)
Пример #2
0
 def test_reorder_candidate_corners_preserves_shape_and_alters_param(self):
     candidates, _ = aruco._detectInitialCandidates(self.gray)
     cand_copy = np.copy(candidates)
     tmp = MarkerDetectPar._reorder_candidate_corners(candidates)
     np.testing.assert_allclose(tmp, candidates)
     self.assertEqual(
         np.array([np.array_equal(c[1], c[3]) for c in candidates]).sum(),
         0)
     self.assertFalse(np.allclose(cand_copy, candidates))
     self.assertFalse(np.allclose(cand_copy, tmp))
     self.assertEqual(np.array(candidates).shape, cand_copy.shape)
Пример #3
0
 def test_reorder_candidate_corners_equals_aruco_method(self):
     candidates, _ = aruco._detectInitialCandidates(self.gray)
     aruco._reorderCandidatesCorners(candidates)
     np.testing.assert_array_equal(
         MarkerDetectPar._reorder_candidate_corners(candidates),
         aruco._reorderCandidatesCorners(candidates))