aboutsummaryrefslogtreecommitdiff
path: root/docs/user_guide/ar_environment/environment_setup.md
blob: 1f26d26f2ba15259acf1573c0ec8304adec76a18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Environment Setup
=================

[ArCamera](../../argaze.md/#argaze.ArFeatures.ArCamera) setup is loaded from JSON file format.

Each [ArCamera](../../argaze.md/#argaze.ArFeatures.ArCamera) defines a unique [ArUcoDetector](../../argaze.md/#argaze.ArUcoMarkers.ArUcoDetector.ArUcoDetector) dedicated to detection of markers from a specific [ArUcoMarkersDictionary](../../argaze.md/#argaze.ArUcoMarkers.ArUcoMarkersDictionary) and with a given size. However, it is possible to load multiple [ArScene](../../argaze.md/#argaze.ArFeatures.ArScene) into a same [ArCamera](../../argaze.md/#argaze.ArFeatures.ArCamera).

Here is JSON environment file example where it is assumed that mentioned .obj files are located relatively to the environment file on disk.

```
{
    "name": "my AR environment",
    "aruco_detector": {
    	"dictionary": {
            "name": "DICT_APRILTAG_16h5"
    	}
    	"marker_size": 5,
    	"optic_parameters": {
            "rms": 0.6,
            "dimensions": [
                1920,
                1080
            ],
            "K": [
                [
                    1135,
                    0.0,
                    956
                ],
                [
                    0.0,
                    1135,
                    560
                ],
                [
                    0.0,
                    0.0,
                    1.0
                ]
            ],
            "D": [
                0.01655492265003404,
                0.1985524264972037,
                0.002129965902489484,
                -0.0019528582922179365,
                -0.5792910353639452
            ]
        },
        "parameters": {
            "cornerRefinementMethod": 3,
            "aprilTagQuadSigma": 2,
            "aprilTagDeglitch": 1
        }
    },
    "scenes": {
        "my first AR scene" : {
            "aruco_markers_group": "./first_scene/markers.obj",
            "aoi_scene": "./first_scene/aoi.obj",
            "angle_tolerance": 15.0,
            "distance_tolerance": 2.54
        },
        "my second AR scene" : {
            "aruco_markers_group": "./second_scene/markers.obj",
            "aoi_scene": "./second_scene/aoi.obj",
            "angle_tolerance": 15.0,
            "distance_tolerance": 2.54
        }
    }
}
```

```python
from argaze import ArFeatures

# Load AR environment
ar_camera = ArFeatures.ArCamera.from_json('./environment.json')
```