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
Walter Roberson 2017년 9월 7일
Please show the code creating the videoplayer object
Just before the while, I have that :
vid=videoinput(handles.ADA,handles.numero,handles.format);
% Capture one frame to get its size.
videoFrame = getsnapshot(vid);
videoFrame=videoFrame(pos(2):(pos(2)+pos(4)),pos(1):(pos(1)+pos(3)),1);
videoPlayer = vision.VideoPlayer('Position',pos);
% Création des trackers
pointTracker = vision.PointTracker('MaxBidirectionalError',20);
initialize(pointTracker,barycentre1,videoFrame);
point(2,:) = barycentre2;

댓글을 달려면 로그인하십시오.

 채택된 답변

Walter Roberson
Walter Roberson 2017년 9월 15일

0 개 추천

댓글 수: 2

Arnaud Tullio
Arnaud Tullio 2017년 10월 23일
I already checked it but the problem is that in your link, the video is open with a file. In my case, the video come from a camera in real time so i can't display it by "a frame" i display it with the video player. I just want to includ mon video player in my axes.
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
Sarah Mohamed 2017년 9월 15일

0 개 추천

Try using the function 'imshow'.
Assuming you've captured a frame in the variable 'out':
imshow(out, 'Parent', handles.Video);

카테고리

도움말 센터File Exchange에서 Annotations에 대해 자세히 알아보기

질문:

2017년 9월 7일

댓글:

2017년 10월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by