def test_extract_bits_for_proper_marker(self): candidates, _ = aruco._detectCandidates( self.gray_marker_0, aruco.DetectorParameters_create()) test_bits = MarkerDetectPar._extract_bits(self.gray_marker_0, candidates[9]) np.testing.assert_array_equal( test_bits, np.array([[0, 0, 0, 0, 0, 0], [0, 1, 0, 1, 1, 0], [0, 0, 1, 0, 1, 0], [0, 0, 0, 1, 1, 0], [0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0]])) candidates, _ = aruco._detectCandidates( self.gray_marker_0_trans, aruco.DetectorParameters_create()) test_bits = MarkerDetectPar._extract_bits(self.gray_marker_0_trans, candidates[9]) np.testing.assert_array_equal( test_bits, np.array([[0, 0, 0, 0, 0, 0], [0, 1, 0, 1, 1, 0], [0, 0, 1, 0, 1, 0], [0, 0, 0, 1, 1, 0], [0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0]]))
def test_get_border_errors_equals_aruco_method(self): candidates, _ = aruco._detectCandidates( self.gray_marker_0, aruco.DetectorParameters_create()) bits_marker_0 = MarkerDetectPar._extract_bits(self.gray_marker_0, candidates[9]) true_err_count = aruco._getBorderErrors( bits_marker_0, FiducialMarker.get_marker_size(), MarkerDetectPar.params[MarkerDetectPar.markerBorderBits]) test_err_count = MarkerDetectPar._get_border_errors( bits_marker_0, FiducialMarker.get_marker_size(), MarkerDetectPar.params[MarkerDetectPar.markerBorderBits]) self.assertEqual(test_err_count, true_err_count) candidates, _ = aruco._detectCandidates( self.gray_marker_0_trans, aruco.DetectorParameters_create()) bits_marker_0_trans = MarkerDetectPar._extract_bits( self.gray_marker_0_trans, candidates[9]) true_err_count = aruco._getBorderErrors( bits_marker_0_trans, FiducialMarker.get_marker_size(), MarkerDetectPar.params[MarkerDetectPar.markerBorderBits]) test_err_count = MarkerDetectPar._get_border_errors( bits_marker_0_trans, FiducialMarker.get_marker_size(), MarkerDetectPar.params[MarkerDetectPar.markerBorderBits]) self.assertEqual(test_err_count, true_err_count)
def test_extract_bits_equals_aruco_method(self): candidates, _ = aruco._detectCandidates( self.gray_marker_0, aruco.DetectorParameters_create()) true_bits = aruco._extractBits( self.gray_marker_0, candidates[9], FiducialMarker.get_marker_size(), MarkerDetectPar.params[MarkerDetectPar.markerBorderBits], MarkerDetectPar.params[ MarkerDetectPar.perspectiveRemovePixelPerCell], MarkerDetectPar.params[ MarkerDetectPar.perspectiveRemoveIgnoredMarginPerCell], MarkerDetectPar.params[MarkerDetectPar.minOtsuStdDev]) test_bits = MarkerDetectPar._extract_bits(self.gray_marker_0, candidates[9]) np.testing.assert_array_equal(true_bits, test_bits)
def test_extract_bits_for_false_candidate_all_black(self): candidates, _ = aruco._detectCandidates( self.gray_marker_0, aruco.DetectorParameters_create()) bits = MarkerDetectPar._extract_bits(self.gray_marker_0, candidates[0]) np.testing.assert_array_equal(bits, np.ones((6, 6), dtype=np.int8))