diff options
author | Théo de la Hogue | 2023-06-19 10:01:10 +0200 |
---|---|---|
committer | Théo de la Hogue | 2023-06-19 10:01:10 +0200 |
commit | 91857bacd4f82e48d8a06b43bcc48294701d6a1d (patch) | |
tree | 93d95d0bc6ec4b01c295efe8b788ac69d369d6e2 /docs/user_guide/aruco_markers | |
parent | 053726042d48f68bce7f0bfb4d53c5be097e234d (diff) | |
download | argaze-91857bacd4f82e48d8a06b43bcc48294701d6a1d.zip argaze-91857bacd4f82e48d8a06b43bcc48294701d6a1d.tar.gz argaze-91857bacd4f82e48d8a06b43bcc48294701d6a1d.tar.bz2 argaze-91857bacd4f82e48d8a06b43bcc48294701d6a1d.tar.xz |
Using relative path to code reference to make it works online.
Diffstat (limited to 'docs/user_guide/aruco_markers')
6 files changed, 21 insertions, 21 deletions
diff --git a/docs/user_guide/aruco_markers/camera_calibration.md b/docs/user_guide/aruco_markers/camera_calibration.md index ea2c51a..7bff480 100644 --- a/docs/user_guide/aruco_markers/camera_calibration.md +++ b/docs/user_guide/aruco_markers/camera_calibration.md @@ -5,7 +5,7 @@ Any camera device have to be calibrated to compensate its optical distorsion. ![Camera calibration](../../img/camera_calibration.png) -The first step to calibrate a camera is to create an [ArUcoBoard](/argaze/#argaze.ArUcoMarkers.ArUcoBoard) like in the code below: +The first step to calibrate a camera is to create an [ArUcoBoard](../../../argaze/#argaze.ArUcoMarkers.ArUcoBoard) like in the code below: ``` python from argaze.ArUcoMarkers import ArUcoMarkersDictionary, ArUcoBoard @@ -20,7 +20,7 @@ aruco_board = ArUcoBoard.ArUcoBoard(7, 5, 5, 3, aruco_dictionary) aruco_board.save('./calibration_board.png', 300) ``` -Then, the calibration process needs to make many different captures of an [ArUcoBoard](/argaze/#argaze.ArUcoMarkers.ArUcoBoard) through the camera and then, pass them to an [ArUcoDetector](/argaze/#argaze.ArUcoMarkers.ArUcoDetector.ArUcoDetector) instance to detect board corners and store them as calibration data to an [ArUcoOpticCalibrator](/argaze/#argaze.ArUcoMarkers.ArUcoOpticCalibrator) for final calibration process. +Then, the calibration process needs to make many different captures of an [ArUcoBoard](../../../argaze/#argaze.ArUcoMarkers.ArUcoBoard) through the camera and then, pass them to an [ArUcoDetector](../../../argaze/#argaze.ArUcoMarkers.ArUcoDetector.ArUcoDetector) instance to detect board corners and store them as calibration data to an [ArUcoOpticCalibrator](../../../argaze/#argaze.ArUcoMarkers.ArUcoOpticCalibrator) for final calibration process. ![Calibration step](../../img/camera_calibration_step.png) @@ -81,7 +81,7 @@ else: print('\nCalibration error.') ``` -Then, the camera calibration data are loaded to compensate optical distorsion during [ArUcoMarkers](/argaze/#argaze.ArUcoMarkers.ArUcoMarker) detection: +Then, the camera calibration data are loaded to compensate optical distorsion during [ArUcoMarkers](../../../argaze/#argaze.ArUcoMarkers.ArUcoMarker) detection: ``` python from argaze.ArUcoMarkers import ArUcoOpticCalibrator diff --git a/docs/user_guide/aruco_markers/introduction.md b/docs/user_guide/aruco_markers/introduction.md index 7da045c..8f4baf9 100644 --- a/docs/user_guide/aruco_markers/introduction.md +++ b/docs/user_guide/aruco_markers/introduction.md @@ -5,11 +5,11 @@ About ArUco markers The OpenCV library provides a module to detect fiducial markers into a picture and estimate its pose (cf [OpenCV ArUco tutorial page](https://docs.opencv.org/4.x/d5/dae/tutorial_aruco_detection.html)). -The ArGaze [ArUcoMarkers submodule](/argaze/#argaze.ArUcoMarkers) eases markers creation, camera calibration, markers detection and 3D scene pose estimation through a set of high level classes: - -* [ArUcoMarkersDictionary](/argaze/#argaze.ArUcoMarkers.ArUcoMarkersDictionary) -* [ArUcoMarkers](/argaze/#argaze.ArUcoMarkers.ArUcoMarker) -* [ArUcoBoard](/argaze/#argaze.ArUcoMarkers.ArUcoBoard) -* [ArUcoOpticCalibrator](/argaze/#argaze.ArUcoMarkers.ArUcoOpticCalibrator) -* [ArUcoDetector](/argaze/#argaze.ArUcoMarkers.ArUcoDetector) -* [ArUcoScene](/argaze/#argaze.ArUcoMarkers.ArUcoScene)
\ No newline at end of file +The ArGaze [ArUcoMarkers submodule](../../../argaze/#argaze.ArUcoMarkers) eases markers creation, camera calibration, markers detection and 3D scene pose estimation through a set of high level classes: + +* [ArUcoMarkersDictionary](../../../argaze/#argaze.ArUcoMarkers.ArUcoMarkersDictionary) +* [ArUcoMarkers](../../../argaze/#argaze.ArUcoMarkers.ArUcoMarker) +* [ArUcoBoard](../../../argaze/#argaze.ArUcoMarkers.ArUcoBoard) +* [ArUcoOpticCalibrator](../../../argaze/#argaze.ArUcoMarkers.ArUcoOpticCalibrator) +* [ArUcoDetector](../../../argaze/#argaze.ArUcoMarkers.ArUcoDetector) +* [ArUcoScene](../../../argaze/#argaze.ArUcoMarkers.ArUcoScene)
\ No newline at end of file diff --git a/docs/user_guide/aruco_markers/markers_creation.md b/docs/user_guide/aruco_markers/markers_creation.md index 1725fe4..89c7fc6 100644 --- a/docs/user_guide/aruco_markers/markers_creation.md +++ b/docs/user_guide/aruco_markers/markers_creation.md @@ -1,7 +1,7 @@ Markers creation ================ -The creation of [ArUcoMarkers](/argaze/#argaze.ArUcoMarkers.ArUcoMarker) from a dictionary is illustrated in the code below: +The creation of [ArUcoMarkers](../../../argaze/#argaze.ArUcoMarkers.ArUcoMarker) from a dictionary is illustrated in the code below: ``` python from argaze.ArUcoMarkers import ArUcoMarkersDictionary diff --git a/docs/user_guide/aruco_markers/markers_detection.md b/docs/user_guide/aruco_markers/markers_detection.md index f8a23f9..3851cb4 100644 --- a/docs/user_guide/aruco_markers/markers_detection.md +++ b/docs/user_guide/aruco_markers/markers_detection.md @@ -3,7 +3,7 @@ Markers detection ![Detected markers](../../img/detected_markers.png) -Firstly, the [ArUcoDetector](/argaze/#argaze.ArUcoMarkers.ArUcoDetector.ArUcoDetector) needs to know the expected dictionary and size (in centimeter) of the [ArUcoMarkers](/argaze/#argaze.ArUcoMarkers.ArUcoMarker) it have to detect. +Firstly, the [ArUcoDetector](../../../argaze/#argaze.ArUcoMarkers.ArUcoDetector.ArUcoDetector) needs to know the expected dictionary and size (in centimeter) of the [ArUcoMarkers](../../../argaze/#argaze.ArUcoMarkers.ArUcoMarker) it have to detect. Notice that extra parameters are passed to detector: see [OpenCV ArUco markers detection parameters documentation](https://docs.opencv.org/4.x/d1/dcd/structcv_1_1aruco_1_1DetectorParameters.html) to know more. @@ -19,7 +19,7 @@ extra_parameters = ArUcoDetector.DetectorParameters.from_json('./detector_parame aruco_detector = ArUcoDetector.ArUcoDetector(optic_parameters=optic_parameters, dictionary='DICT_APRILTAG_16h5', marker_size=5, parameters=extra_parameters) ``` -Here is [DetectorParameters](/argaze/#argaze.ArUcoMarkers.ArUcoDetector.DetectorParameters) JSON file example: +Here is [DetectorParameters](../../../argaze/#argaze.ArUcoMarkers.ArUcoDetector.DetectorParameters) JSON file example: ``` { @@ -29,7 +29,7 @@ Here is [DetectorParameters](/argaze/#argaze.ArUcoMarkers.ArUcoDetector.Detector } ``` -The [ArUcoDetector](/argaze/#argaze.ArUcoMarkers.ArUcoDetector.ArUcoDetector) processes frame to detect markers and allows to draw detection results onto it: +The [ArUcoDetector](../../../argaze/#argaze.ArUcoMarkers.ArUcoDetector.ArUcoDetector) processes frame to detect markers and allows to draw detection results onto it: ``` python # Detect markers into a frame and draw them diff --git a/docs/user_guide/aruco_markers/markers_pose_estimation.md b/docs/user_guide/aruco_markers/markers_pose_estimation.md index 09db325..45ef70d 100644 --- a/docs/user_guide/aruco_markers/markers_pose_estimation.md +++ b/docs/user_guide/aruco_markers/markers_pose_estimation.md @@ -1,7 +1,7 @@ Markers pose estimation ======================= -After [ArUcoMarkers](/argaze/#argaze.ArUcoMarkers.ArUcoMarker) detection, it is possible to estimate [ArUcoMarkers](/argaze/#argaze.ArUcoMarkers.ArUcoMarker) pose in camera axis. +After [ArUcoMarkers](../../../argaze/#argaze.ArUcoMarkers.ArUcoMarker) detection, it is possible to estimate [ArUcoMarkers](../../../argaze/#argaze.ArUcoMarkers.ArUcoMarker) pose in camera axis. ![Pose estimation](../../img/pose_estimation.png) diff --git a/docs/user_guide/aruco_markers/markers_scene_description.md b/docs/user_guide/aruco_markers/markers_scene_description.md index 6dbc4fd..3ea962e 100644 --- a/docs/user_guide/aruco_markers/markers_scene_description.md +++ b/docs/user_guide/aruco_markers/markers_scene_description.md @@ -1,11 +1,11 @@ Markers scene description ========================= -The ArGaze toolkit provides [ArUcoScene](/argaze/#argaze.ArUcoMarkers.ArUcoScene) class to describe where [ArUcoMarkers](/argaze/#argaze.ArUcoMarkers.ArUcoMarker) are placed into a 3D model. +The ArGaze toolkit provides [ArUcoScene](../../../argaze/#argaze.ArUcoMarkers.ArUcoScene) class to describe where [ArUcoMarkers](../../../argaze/#argaze.ArUcoMarkers.ArUcoMarker) are placed into a 3D model. ![ArUco scene](../../img/aruco_scene.png) -[ArUcoScene](/argaze/#argaze.ArUcoMarkers.ArUcoScene) is useful to: +[ArUcoScene](../../../argaze/#argaze.ArUcoMarkers.ArUcoScene) is useful to: * filter markers that belongs to this predefined scene, * check the consistency of detected markers according the place where each marker is expected to be, @@ -33,7 +33,7 @@ f 5//2 6//2 8//2 7//2 ... ``` -[ArUcoScene](/argaze/#argaze.ArUcoMarkers.ArUcoScene) description can also be written in a JSON file format. +[ArUcoScene](../../../argaze/#argaze.ArUcoMarkers.ArUcoScene) description can also be written in a JSON file format. ``` json { @@ -56,7 +56,7 @@ f 5//2 6//2 8//2 7//2 } ``` -Here is a sample of code to show the loading of an [ArUcoScene](/argaze/#argaze.ArUcoMarkers.ArUcoScene) OBJ file description: +Here is a sample of code to show the loading of an [ArUcoScene](../../../argaze/#argaze.ArUcoMarkers.ArUcoScene) OBJ file description: ``` python from argaze.ArUcoMarkers import ArUcoScene @@ -91,7 +91,7 @@ consistent_markers, unconsistent_markers, unconsistencies = aruco_scene.check_ma ## Scene pose estimation -Several approaches are available to perform [ArUcoScene](/argaze/#argaze.ArUcoMarkers.ArUcoScene) pose estimation from markers belonging to the scene. +Several approaches are available to perform [ArUcoScene](../../../argaze/#argaze.ArUcoMarkers.ArUcoScene) pose estimation from markers belonging to the scene. The first approach considers that scene pose can be estimated **from a single marker pose**: |