how to play videos using implay function in specific axes?
6 次查看(过去 30 天)
显示 更早的评论
i am trying to play videos in my matlab gui but i couldnt figure out how to play video in my specific axes. plz help me :)
2 个评论
Nguyen Duc Phu
2016-7-5
编辑:Walter Roberson
2017-5-29
global videoFReader
faceDetector = vision.CascadeObjectDetector();
videoFReader = vision.VideoFileReader('test.avi');
videoPlayer = vision.VideoPlayer;
while ~isDone(videoFReader)
videoFrame = step(videoFReader);
step(videoPlayer, videoFrame);
end
axes(handles.axes1)
imshow(videoFReader);
% However Videoplayer is not in axes box !!!!
Please help me
Ghanashyama Prabhu
2017-10-25
global show_video; videoFReader = vision.VideoFileReader('test.mp4'); framert = 30; videoPlayer = vision.VideoPlayer; ax = handles.axes1; % assuming axes1 is used to disply in GUI while ~isDone(videoFReader) videoFrame = step(videoFReader); image(videoFrame, 'Parent', ax); set(ax,'Visible', 'off'); pause(1/framert); if show_video ~=1 % used as global so that can be set at controlling place. if show_video = 1 continuously play break end end release(videoPlayer);
采纳的回答
Thomas Koelen
2015-5-8
编辑:Thomas Koelen
2015-5-8
You have axes in your gui, let's say they are called
axes1
(you can check the name of the axes by double clicking on it in GUIDE, then look for Tag.
Then the only thing you have to do is:
axes(handles.axes1);
implay(videohere);
7 个评论
Jaroslava Orenicova
2017-10-19
Hi, Ive just tried both ways but it doesnt work. Implay always pop new window, I need to have it in the axes in GUI.
更多回答(2 个)
Gabriel Zalles
2017-6-26
Can I just say? Matlab support is attrocious. I can't believe how little help there is online for problems like this. The company should pay people to go online and provide solutions for people.
0 个评论
Ganesh Raut
2015-5-8
Thomas Koelen..
ur answer not work.. actually play video but not in axes..plz help
4 个评论
Matt J
2017-8-25
Check the my comment, this should work.
No, it doesn't work. It will play in the designated axes, but the use of a for-loop in conjunction with pause gives a very inaccurate frame rate.
Ghanashyama Prabhu
2017-10-25
global show_video; videoFReader = vision.VideoFileReader('test.mp4'); framert = 30; videoPlayer = vision.VideoPlayer; ax = handles.axes1; % assuming axes1 is used to disply in GUI while ~isDone(videoFReader) videoFrame = step(videoFReader); image(videoFrame, 'Parent', ax); set(ax,'Visible', 'off'); pause(1/framert); if show_video ~=1 % used as global so that can be set at controlling place. if show_video = 1 continuously play break end end release(videoPlayer);
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!