Skip to main content

Cibles d'image

La nouvelle API permet de définir des cibles d'image directement à partir du code comme XrController.configure({imageTargetData : [{...}]}).

Cible d'image plate

Si vous configurez une nouvelle cible d'image plate :

  1. Commencez par convertir l'image en niveaux de gris et par la recadrer, la mettre à l'échelle et la faire pivoter à 480x640 pixels.
  2. Définir les données cibles de l'image :
const imageTarget = {
"imagePath": "./path/to/image.png",
"metadata": {}, // available for custom use cases
"name": "my-image-target",
"type": "PLANAR",
"xrMetadata": {
"left": 0,
"top": 0,
"width": 480,
"height": 640,
"originalWidth": 480,
"originalHeight": 640,
"isRotated": false, // set this to true if you rotated the image when you cropped it
}
}

Cible d'image cylindrique

Pour les cibles cylindriques, il y a plus de paramètres à fournir (cylinderSideLength, cylinderCircumferenceTop, targetCircumferenceTop, cylinderCircumferenceBottom, arcAngle, coniness).

  1. Définir les données cibles de l'image :
const imageTarget = {
"imagePath": "./path/to/image.png",
"metadata": {}, // available for custom use cases
"name": "my-image-target",
"type": "CYLINDER",
"xrMetadata": {
"left": 0,
"top": 18,
"width": 1476,
"height": 1968,
"originalWidth": 1476,
"originalHeight": 2000,
"isRotated": false, // set this to true if you rotated the image when you cropped it
"cylinderSideLength": 135.5,
"cylinderCircumferenceTop": 257.14, // This should match circumferencce bottom
"targetCircumferenceTop": 100,
"cylinderCircumferenceBottom": 257.14,
"arcAngle": 140.0,
"coniness": 0, // This should be 0 for all cylinders
"inputMode": "BASIC",
"unit": "mm",
}
}

Cible d'image conique

Pour les cibles coniques, il y a l'inconification, et le format d'entrée est différent de celui qui a été téléchargé sur le web.

  1. Commencez par une image d'arc-en-ciel recadrée par les rayons supérieur (ligne verte en pointillés) et inférieur (ligne verte en gras).

  1. Etirer l'image de l'arc-en-ciel pour qu'elle soit plate et recadrer/échelonner/rotation les dimensions de l'image plate non modifiée pour obtenir une échelle de gris de 480x640 pixels (cette image recadrée doit être l'image fournie dans le chemin d'accès à l'image).
  2. Définir les données cibles de l'image :
const imageTarget = {
"imagePath": "./path/to/image.png", // path to unconified image
"metadata": {}, // available for custom use cases
"name": "my-image-target",
"type": "CONICAL",
"xrMetadata": {
"left": 177,
"top": 554,
"width": 564,
"height": 752,
"originalWidth": 842,
"originalHeight": 2000,
"isRotated": false, // set this to true if you rotated the image when you cropped it
"topRadius": 4479,
"bottomRadius": 3630.644,
"cylinderSideLength": 21.05,
"cylinderCircumferenceTop": 100,
"targetCircumferenceTop": 50,
"cylinderCircumferenceBottom": 81.06,
"arcAngle": 180,
"coniness": 0.303, // log2(topRadius / bottomRadius)
"inputMode": "BASIC",
"unit": "mm",
}
}