如何将滑块设置以控制Matlab Gui中的视频



我试图在Matlab Gui中设置一个滑块,以控制视频,例如移入视频的某些帧。" OBJ"是用户选择的视频文件。以下代码用于拍摄输入视频并在GUI的轴上显示。

    global b    
    filename = get(handles.edit3, 'String');
      if ~exist(filename, 'file')
        warndlg( 'Text in edit box is not the name of a file');
        return
      end
      try
        obj = VideoReader(filename);
      catch
        warndlg( 'File named in edit box does not appear to be a usable movie file');
        return
      end
    axes(handles.axes2)
    handles.pushbutton5=0;
    guidata(hObject,handles);
    while ~(handles.pushbutton5)
        if hasFrame(obj)
        vidFrame = readFrame(obj);
        obj;
        image(vidFrame, 'Parent', handles.axes2);
        set(axes, 'Visible', 'off');
        pause(1/obj.FrameRate)
        end
        handles = guidata(hObject);
    end
    clear obj

用户控制滑块时,滑块将提供" B"值。

function slider2_Callback(hObject, eventdata, handles)
% hObject    handle to slider2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'Value') returns position of slider
%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
global b
 b = get(handles.slider2,'Value');

有人知道如何解决此问题,以便可以由滑块控制视频?

如果您拥有MATLAB的视觉工具箱,则可以从MATLAB使用此解决方案:

自定义GUI中的视频播放器

最新更新