diff options
author | Théo de la Hogue | 2023-03-14 14:27:27 +0100 |
---|---|---|
committer | Théo de la Hogue | 2023-03-14 14:27:27 +0100 |
commit | 27999659257ec15ebf6a598b65b47f3f19ddaaa8 (patch) | |
tree | b44b67fecf50e3fc2d180790256701034455eca3 /src/argaze.test/ArUcoMarkers/ArUcoBoard.py | |
parent | 61a855ecb4e947705b3ecb806f07afcb02307746 (diff) | |
download | argaze-27999659257ec15ebf6a598b65b47f3f19ddaaa8.zip argaze-27999659257ec15ebf6a598b65b47f3f19ddaaa8.tar.gz argaze-27999659257ec15ebf6a598b65b47f3f19ddaaa8.tar.bz2 argaze-27999659257ec15ebf6a598b65b47f3f19ddaaa8.tar.xz |
Allowing to pass dictionary instance or str for ArUcoBoard creation.
Diffstat (limited to 'src/argaze.test/ArUcoMarkers/ArUcoBoard.py')
-rw-r--r-- | src/argaze.test/ArUcoMarkers/ArUcoBoard.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/argaze.test/ArUcoMarkers/ArUcoBoard.py b/src/argaze.test/ArUcoMarkers/ArUcoBoard.py new file mode 100644 index 0000000..5ca1324 --- /dev/null +++ b/src/argaze.test/ArUcoMarkers/ArUcoBoard.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python + +import unittest +import os + +from argaze.ArUcoMarkers import ArUcoBoard, ArUcoMarkersDictionary + +import numpy + +class TestArUcoBoardClass(unittest.TestCase): + """Test ArUcoBoard class.""" + + def test_new_from_dictionary_string(self): + """Test ArUcoBoard creation using a dictionary string.""" + + # Check ArUco board creation + columns = 4 + rows = 3 + square_size = 2 + marker_size = 1 + + aruco_board = ArUcoBoard.ArUcoBoard('DICT_ARUCO_ORIGINAL', columns, rows, square_size, marker_size) + + # Check ArUco board + self.assertIsNone(numpy.testing.assert_array_equal(aruco_board.identifiers, [i for i in range(int((columns*rows)/2))])) + self.assertIsNone(numpy.testing.assert_array_equal(aruco_board.size, [columns, rows])) + self.assertEqual(aruco_board.markers_number, int((columns*rows)/2)) + self.assertEqual(aruco_board.corners_number, (columns-1)*(rows-1)) + + def test_new_from_dictionary_instance(self): + """Test ArUcoBoard creation using a dictionary instance.""" + + # Check ArUco board creation + columns = 4 + rows = 3 + square_size = 2 + marker_size = 1 + + aruco_dictionary = ArUcoMarkersDictionary.ArUcoMarkersDictionary('DICT_ARUCO_ORIGINAL') + aruco_board = ArUcoBoard.ArUcoBoard(aruco_dictionary, columns, rows, square_size, marker_size) + + # Check ArUco board + self.assertIsNone(numpy.testing.assert_array_equal(aruco_board.identifiers, [i for i in range(int((columns*rows)/2))])) + self.assertIsNone(numpy.testing.assert_array_equal(aruco_board.size, [columns, rows])) + self.assertEqual(aruco_board.markers_number, int((columns*rows)/2)) + self.assertEqual(aruco_board.corners_number, (columns-1)*(rows-1)) + +if __name__ == '__main__': + + unittest.main()
\ No newline at end of file |