how can i display video and image simultaneously in GUI-matlab?
4 views (last 30 days)
Show older comments
Hi everyone,
Anybody knows that how can I display a video and a picture in two different windows simultaneously (with 1 pushbotton and without dilay in GUI)? I used the following code but the imgae (in second window-axes(handles.axes2)) is diplayed after finishing the video. I need to start both at the same time.
Thanks in advance.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
axes(handles.axes1);
vidObj = VideoReader('Try.avi');
numFrames = 0;
while hasFrame(vidObj)
F = readFrame(vidObj);
numFrames = numFrames + 1;
imagesc(F)
drawnow
end
numFrames
axes(handles.axes2);
imshow('index.jpg');
0 Comments
Answers (1)
Nitin Kapgate
on 27 Oct 2020
Your code is running sequentially. At first, it displays the complete video frame by frame.
After the video is displayed, the image is displayed at the end. Thus both the video and images are not displayed simultaneously.
You can overcome this by displaying the image at the beginning and then displaying the video.
The modified code should be like this:
function pushbutton1_Callback(hObject, eventdata, handles)
% Display the image first
axes(handles.axes2);
imshow('index.jpg');
% hObject handle to pushbutton1 (see GCBO)
axes(handles.axes1);
vidObj = VideoReader('Try.avi');
numFrames = 0;
% Display the video frame by frame
while hasFrame(vidObj)
F = readFrame(vidObj);
numFrames = numFrames + 1;
imagesc(F)
drawnow
end
numFrames
end
See Also
Categories
Find more on Startup and Shutdown 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!