how to play videos using implay function in specific axes?

5 Ansichten (letzte 30 Tage)
Vignesh
Vignesh am 8 Mai 2015
Kommentiert: souilah ridha am 19 Mär. 2020
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 Kommentare
Nguyen Duc Phu
Nguyen Duc Phu am 5 Jul. 2016
Bearbeitet: Walter Roberson am 29 Mai 2017
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
Ghanashyama Prabhu am 25 Okt. 2017
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);

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Thomas Koelen
Thomas Koelen am 8 Mai 2015
Bearbeitet: Thomas Koelen am 8 Mai 2015
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 Kommentare
Jaroslava Orenicova
Jaroslava Orenicova am 19 Okt. 2017
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.
souilah ridha
souilah ridha am 19 Mär. 2020
how can i use it with 'implay'

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Gabriel Zalles
Gabriel Zalles am 26 Jun. 2017
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.

Ganesh Raut
Ganesh Raut am 8 Mai 2015
Thomas Koelen..
ur answer not work.. actually play video but not in axes..plz help
  4 Kommentare
Matt J
Matt J am 25 Aug. 2017
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
Ghanashyama Prabhu am 25 Okt. 2017
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);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by