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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!