Get current view point (az,el) of a point cloud displayed in using "pcshow" command
10 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
Walter Roberson
2018-2-2
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 个评论
Walter Roberson
2018-2-15
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
2025-1-23
编辑:Alireza Manzoori
2025-1-23
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!
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing and Computer Vision 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!