Optical flow between two frames
2 views (last 30 days)
Show older comments
I have used the following code to estimate a velocity of a moving box, u and v values of different points at the same block are not close. How can I estimate the representive u & v values?
obj = VideoReader('bigbox.mp4');
for k = 1 : 2
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
Image Analyst
on 16 Sep 2023
If you have any more questions, then attach your data ('bigbox.mp4') with the paperclip icon after you read this:
Answers (0)
See Also
Categories
Find more on Optics 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!