clear all;
close all;
clc;

%Leer desde un archivo de video
video=VideoReader('../videos/highway.avi');

%Crear un objeto del Flujo Óptico
%opticFlow = opticalFlowHS('MaxIteration',10);
opticFlow = opticalFlowLK('NoiseThreshold',0.0039);

%Estimar el flujo óptico para todo el video
while hasFrame(video)
% for i=1:video.NumberOfFrames
% for i=1:200
%     for j=1:10
%         frameRGB = readFrame(video);
%     end
    frameRGB = readFrame(video);
    frameGray = rgb2gray(frameRGB);

    flow = estimateFlow(opticFlow,frameGray);

    imshow(frameRGB);
    hold on;
    plot(flow,'DecimationFactor',[5 5],'ScaleFactor',10);
    %plot(flow,'DecimationFactor',[5 5],'ScaleFactor',1);
    hold off;
    drawnow;
end

