Display videoPlayer in axes GUIDE
4 次查看(过去 30 天)
显示 更早的评论
Hello, I would like to display my video in axes named handles.Video. The problem is that I would like to display step(videoPlayer,out) in my axes. My code is :
runloop=1;
while runloop
frame=getsnapshot(vid);
frame=frame(pos(2):(pos(2)+pos(4)),pos(1):(pos(1)+pos(3)),1);
point(1,:) = step(pointTracker,frame);
% Inserer physique sur la vidéo un marqueur
out = insertMarker(frame,point,'x');
% Calcule de la distance entre les 2 markers (norme)
Norme=sqrt(abs(((point(2,2) - point(1,2))).^2+abs((point(2,1) - point(1,1))).^2));
% Calcul de la distance en micro et microrad
Dmili=Norme*PixelNum*0.001;
Drad=(Dmili/FocaleNum)*1000;
% Affiche la distance entre les 2 points
set(handles.dist,'String',num2str(Drad));
set(handles.dist2,'String',num2str(Dmili));
% Affichage de la vidéo
axes(handles.Video)
step(videoPlayer,out)
end
2 个评论
采纳的回答
Walter Roberson
2017-9-15
2 个评论
Walter Roberson
2017-10-24
In the routine,
function [frame,rotatedImg,angle] = getAndProcessFrame(videoSrc,angle)
replace
frame = step(videoSrc);
with
frame = getsnapshot(videoSrc);
In the routine,
function playCallback(hObject,~,videoSrc,hAxes)
comment out
if isDone(videoSrc)
reset(videoSrc);
end
and
if isDone(videoSrc)
hObject.String = 'Start';
end
In the routine
function exitCallback(~,~,videoSrc,hFig)
comment out
release(videoSrc);
In the routine
function VideoInCustomGUIExample()
replace
videoSrc = vision.VideoFileReader('vipmen.avi', 'ImageColorSpace', 'Intensity');
with
vid = videoinput(handles.ADA,handles.numero,handles.format);
更多回答(1 个)
Sarah Mohamed
2017-9-15
Try using the function 'imshow'.
Assuming you've captured a frame in the variable 'out':
imshow(out, 'Parent', handles.Video);
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!