finding a velocity of moving object using optical flow
7 views (last 30 days)
Show older comments
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 Comment
Cris LaPierre
on 22 Sep 2023
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
Answers (1)
Ishaan
on 26 Mar 2025
I noticed that the code you are using after frame extraction is same as the one in Compute Optical Flow Velocities Example provided by MathWorks. And I understand that you intend to get the resultant velocity in a vector format and know the units of its components.
I think that you are referring to the horizontal (“Vx”) and vertical component (“Vy”) of the velocity with “u” and “v” respectively, same as the nomenclature used in the video linked by @Cris LaPierre.
The units of “Vx” and “Vy” is “pixels per frame” as no other information is available to the optical flow function.
The resultant velocity vector is available as the following read-only properties of the “opticalFlow” object:
- “flow.Orientation” - Phase angles of optical flow in radians
- “flow.Magnitude” - Magnitude of optical flow in pixels per frame
For more details on “opticalFlow”, please refer to this documentation: https://www.mathworks.com/help/vision/ref/opticalflowobject.html
0 Comments
See Also
Categories
Find more on Geometric Transformation and Image Registration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!