finding a velocity of moving object using optical flow

6 visualizaciones (últimos 30 días)
Dalia
Dalia el 21 de Sept. de 2023
Respondida: Ishaan el 26 de Mzo. de 2025
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)

Respuestas (1)

Ishaan
Ishaan el 26 de Mzo. de 2025
Hey @Dalia,
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

Categorías

Más información sobre Geometric Transformation and Image Registration en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by