How to capture image in gui?

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.

 Risposta accettata

Image Analyst
Image Analyst il 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 Commenti

syafini alias
syafini alias il 18 Feb 2018
it worked. thank you!!
source code pls?
@OMKAR KATKOLE I showed the source code. It's just those 4 lines of code.

Accedi per commentare.

Più risposte (1)

Roy Kadesh
Roy Kadesh il 16 Feb 2018

0 voti

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 Commento

Or you can use exportgraphics() or copygraphics() if you have R2020b or later.

Accedi per commentare.

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Centro assistenza e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by