plotCamera: ButtonDownFcn usage
Show older comments
Hi,
I have plotted a point cloud and a camera pose using structure from motion using the below matlab documentation.
I want to show the image of input camera by clicking on the camera.
In my case I have 6 cameras
I think I am doing something wrong with the function itself, can someone help me with the solution?
Thank you,
Amarbold
camPoses = poses(vSet);
figure;
plotCamera(camPoses, 'Size', 0.2, 'ButtonDownFcn', @imshowOrig);
hold on
function imshowOrig(camPoses,~)
idx = camPoses.ViewId;
imshow(pics{idx});
end
3 Comments
Mario Malic
on 3 Feb 2021
Edited: Mario Malic
on 3 Feb 2021
Hello,
It is not super clear to me how passing arguments into callback work but try this
plotCamera(camPoses, 'Size', 0.2, 'ButtonDownFcn', {@imshowOrig,camPoses, pics});
hold on
function imshowOrig(Source,~, camPoses, pics) % First two arguments are Source and Event
idx = camPoses.ViewId;
Source % this is for you to check what is the source object, is it figure or is it axes or something else (I never used plotCamera)
% if it's axes, then you need to uncomment the second line below, if not, use first line to find axes object
% ax = findall(Source, 'type', 'axes');
% ax = Source;
imshow(pics{idx}, 'Parent', ax);
end
Amarbold Purev
on 3 Feb 2021
Edited: Amarbold Purev
on 3 Feb 2021
Mario Malic
on 3 Feb 2021
It was unnecessary, I have edited my code in comment. Read, you'll need to do some things in order for it to work.
Answers (0)
Categories
Find more on Camera Calibration 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!