List
Image Tracking to make the "word app"
Posted Date: 2024-02-21 13:26     Edited Date: 2024-04-26 20:18     Writer: info

I have an assignment. For example i got 3 images, each image has its own letter. And i need to make up a word. But how i can detect order of images (letters)?

All tracking information what i can get is about names, number of targets and pose. But what the pose is? How can i use it in my code?

Posted Date: 2024-02-22 1:17     Edited Date: 2024-02-22 1:17     Writer: sejin

Thank you for your interest in MAXST AR SDK.

What does it mean to detect the order of an image?
Also, what do you mean when you say that each image has its own lettering?
Typically, when you place content under a Trackable scene, the content is placed when each image is recognized.
What is it specifically that you are trying to do? I think it would be helpful to answer if you could describe a more specific situation.

If you have any questions, feel free to ask.

Thank you.


Best regards,

Shelden

MAXST Support Team

Posted Date: 2024-02-22 14:34     Edited Date: 2024-02-22 14:35     Writer: info

I mean, each letter is a marker. And when the marker is recognized, a model corresponding to the letter of the marker appears. When several markers are placed together, a word consisting of the letters of the markers is recognized and the corresponding model appears.

I will attach examples of markers "S", "O", "L". I need to figure out how to determine that the user has placed markers in a strictly specific order. I need the word "SOL"

 

 

 

 

Posted Date: 2024-02-23 4:15     Edited Date: 2024-02-23 4:16     Writer: sejin

The AR SDK does not provide a separate part for placing targets in multi-tracking.
You must use the trackable's pose to calculate the placement order yourself.
See the AR SDK's ImageTrackableBehaviour.OnTrackSuccess function for the part that uses the pose matrix to calculate the position and rotation of the trackable.
Thank you.
 

Best regards,

Shelden

MAXST Support Team

Posted Date: 2024-02-23 15:48     Edited Date: 2024-02-23 15:48     Writer: info

Can you give some advise how to use the trackable's pose to calculate the placement order yourself?

Posted Date: 2024-03-05 1:58     Edited Date: 2024-03-05 1:58     Writer: sejin

Sorry for the delay in responding.
I need to be able to project a 3D object onto a camera and get 2D coordinates for the camera's background.
This is a simple example.

 

Trackable trackable = trackingResult.GetTrackable(i);
Matrix4x4 pose = trackable.GetPose();
Vector4 position = MatrixUtils.PositionFromMatrix(pose);
Vector2 point = arCamera.WorldToScreenPoint(position);

 

Please test it in other situations and get the placement order accordingly. Thank you.

Best regards,

Shelden

MAXST Support Team

Posted Date: 2024-04-24 13:53     Edited Date: 2024-04-24 13:53     Writer: info

Hello. I used TrackingResult trackingResult.GetCount(); to get number of tracked targets. But for some reason value updates only when i use 3 targets. When it's 2 or 1, value doesn't update. Can you please help me to understand what can be a reason.

Posted Date: 2024-04-24 23:26     Edited Date: 2024-04-24 23:26     Writer: sejin

I've tested it myself now and it updates trackingResult.GetCount() with the number of targets recognized.

I'd need to know more about the situation you're having trouble with before I can answer.

 

Shelden

MAXST Support Team

Posted Date: 2024-04-25 12:27     Edited Date: 2024-04-25 12:27     Writer: info

I wish it to work as it works for you.

I took trackingResult from Image Tracker Sample. And i don't know why but trackingResult.GetCount() updates only for three targets. 1 and 2 don't work.

Posted Date: 2024-04-26 15:03     Edited Date: 2024-04-26 15:03     Writer: info

Also whe i m trying to get trackingResult.GetTrackable(0).GetName(), trackingResult.GetTrackable(1).GetName(), trackingResult.GetTrackable(2).GetName(). I don't get any names when number of targets is 2 or 1. Only when it is 3.

Posted Date: 2024-04-26 20:18     Edited Date: 2024-04-26 20:18     Writer: info

I solved it. Thank you for your time!