How to capture image in gui?

5 views (last 30 days)
syafini alias
syafini alias on 16 Feb 2018
Commented: Image Analyst on 17 Mar 2022
I have created gui with two axes and one pushbutton. I use axes1 to view live video from webcam and i don't have problem with it. But i don't know how to capture the image from axes1 and display the image in axes2.

Accepted Answer

Image Analyst
Image Analyst on 17 Feb 2018
Try this:
axes(handles.axes1); % Switch focus to axes1.
theImage = getimage(); % Snag the image out of axes1.
axes(handles.axes2); % Switch focus to axes2.
imshow(theImage); % Place theImage into axes2.
If you want to make more compact, you could skip axes() and pass the axes handle into getimage() and imshow() but then to get other things, like title() etc., to appear on the correct axes you'll have to pass the handles into those functions too. If you call axes() things like titles will appear on the current axes (the one you just passed into axes() function).
  3 Comments
OMKAR KATKOLE
OMKAR KATKOLE on 17 Mar 2022
source code pls?
Image Analyst
Image Analyst on 17 Mar 2022
@OMKAR KATKOLE I showed the source code. It's just those 4 lines of code.

Sign in to comment.

More Answers (1)

Roy Kadesh
Roy Kadesh on 16 Feb 2018
You can use screencapture to use Java to make a capture of the contents of the axis, which you can then imshow (or image, or set(ax2,'CData',IM)).
  1 Comment
Image Analyst
Image Analyst on 17 Mar 2022
Or you can use exportgraphics() or copygraphics() if you have R2020b or later.

Sign in to comment.

Categories

Find more on Printing and Saving in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!