Plot 2D images in 3D scatter plot

15 vues (au cours des 30 derniers jours)
Gregor
Gregor le 25 Oct 2018
Commenté : ACHAMMA JACOB le 30 Jan 2019
Hello,
I recorded someone moving in front of a camera and now I have a 3D scatter plot of points that track that person's eyes (red and green in the picture below) over x, y and time. I want to insert single frames at specific time locations to show the current status of the input frame. How do I insert (transparent) 2D images into 3D plots?
Now I know how to create surfaces of images, and I also tried playing with hgtransform. However I'm not able to place both scatter3 and image in the same plot. They always end up on separate axes. I think those 2 links are related:
Thanks for your help

Réponse acceptée

Oliver Woodford
Oliver Woodford le 26 Oct 2018
h = surface(X, Y, Z, im, 'facecolor', 'texturemap', 'edgecolor', 'none');
alpha(h, 0.5);
X, Y, and Z are each 2x2 matrices containing the x, y and z coordinates of the 4 corners of your image, im.
  5 commentaires
Oliver Woodford
Oliver Woodford le 9 Déc 2018
The vol3d method can do what you want, so it is possible. The relevant lines are:
opts = {'cdatamapping',[],'alphadatamapping',[],'facecolor','texturemap','edgealpha',0,'facealpha','texturemap'};
surface(x,y,z,cslice,'alphadata',aslice,opts{:});
From that code it doesn't look like AlphaData does need to be 2x2.
ACHAMMA JACOB
ACHAMMA JACOB le 30 Jan 2019
how to convert a jpg binarized image into scatter plot if we doesnot have the data points?

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by