tracking object in a video
이전 댓글 표시
Hello,
I have a video of someone who has an orange in his hand and my goal is to track this orange. First of all i have to create a ROI around this orange after the segmentation:
Left: the original video , Right: the video with segmentation to just have the orange.
Left: The ROI around the orange, Right: The virtual camera who follows the orange thanks to the ROI.First of all i read the video and after, with a while, i must detect the orange in each frame:
videoFileReader = VideoReader('VT.mp4');;
VideoPlayer = vision.VideoPlayer('Position',[100,100,1920,1080]);
%% Detect oranges in each frame
while hasFrame(videoFileReader)
videoFrame = readFrame(videoFileReader);
Bin=videoFrame(:,:,1);
frame_binarise=imbinarize(Bin);
surface=sum(sum(frame_binarise));
[X_barycentre, Y_barycentre] = calcul_Barycentre(frame_binarise);
X=floor(X_barycentre);
Y=floor(Y_barycentre);
se = strel("diamond",1);
contour = frame_binarise - imerode(frame_binarise,se);
imshow(frame_binarise);
end
My baryencenter function:
function [X_barycentre, Y_barycentre] = calcul_Barycentre(img)
[LIG,COL]=size(img);
% Surface
S = sum(sum(img));
% X_barycentre
sumX = 0;
for l=1:1:COL
sumX = sumX+l*sum(img(:,l));
end
X_barycentre = sumX/S;
% Y_barycentre
sumY = 0;
for k=1:1:LIG
sumY = sumY+k*sum(img(k,:));
end
Y_barycentre = sumY/S;
So my probleme is how to make the ROI around the orange ?
댓글 수: 2
darova
2020년 4월 6일
You have center of the orange and want coordinates of rectangle? Is it correct?
Benjamin Lemoine
2020년 4월 6일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Motion Detection에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!