Get current view point (az,el) of a point cloud displayed in using "pcshow" command
10 views (last 30 days)
Show older comments
Hi all,
Could you please let me know how to get the current view point of a point cloud which is displayed using "pcshow" command? Basically, I want to rotate a point cloud manually to get the best view and duplicated the same view point in multiple point clouds. I have tried using below solution but no luck.
Cheers.
0 Comments
Answers (2)
Walter Roberson
on 2 Feb 2018
pcshow() returns an Axes object, which you can retrieve the View property of to get the AZ, EL pair, or you can call view() with no argument to get the transformation matrix.
2 Comments
Walter Roberson
on 15 Feb 2018
At the moment I do not know how to take the transformation matrix returned by view() with no parameters and use it in a different axes.
Alireza Manzoori
on 23 Jan 2025
Edited: Alireza Manzoori
on 23 Jan 2025
For anyone still looking for an answer to this question:
I found one way to do this (possibly not optimal, but it works). When I get the CameraPosition and CameraUpVector properties of the axis object, and set these properties on a new set of axes to the same values, it seems to replicate the view.
For example:
figure;
axHandle1 = pcshow(pointCloud); % visualize the point cloud and get the axis handle
%% Now in the figure window, manually rotate the view to get the desired angle...
desiredCameraPos = axHandle1.CameraPosition; % read the current CameraPosition value
desiredCameraUpVec = axHandle1.CameraUpVector;% read the current CameraUpVector value
figure; % open a new figure
axHandle2 = pcshow(pointCloud);
axHandle2.CameraPosition = desiredCameraPos;
axHandle2.CameraUpVec = desiredCameraUpVec; % these lines will rotate the figure to the same view
Hope this helps!
See Also
Categories
Find more on Image Processing and Computer Vision in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!