finding a velocity of moving object using optical flow
2 次查看(过去 30 天)
显示 更早的评论
I have a matlab based application in which I compute the optical flow by the following code. How can I find the resultant vector of velocity for the moving object and what are the units of u and v?
%%Extraction of frames
>> obj = VideoReader(filename);
for k = 1 : 2 %fill in the appropriate number
this_frame = readFrame(obj);
thisfig = figure();
thisax = axes('Parent', thisfig);
image(this_frame, 'Parent', thisax);
title(thisax, sprintf('Frame #%d', k));
end
%% optical flow
>> I1=imread('Framep#1.png');
>> I2=imread('Framep#2.png');
>> modelname = 'ex_blkopticalflow.slx';
>> open_system(modelname)
>> out = sim(modelname);
>> Vx = real(out.simout);
>> Vy = imag(out.simout);
>> img = out.simout1;
>> flow = opticalFlow(Vx,Vy);
>> figure
imshow(img)
hold on
plot(flow,'DecimationFactor',[5 5],'ScaleFactor',40)
1 个评论
Cris LaPierre
2023-9-22
You might be interested in our Computer Vision for Engineering and Science specialization. It's free to enroll.
Here's a relevant video from Course 3: Applying Optical Flow
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Optics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!