clear all;
close all;
clc;

%Leer desde un archivo de video
video=VideoReader('../videos/highway.avi');
%leer el frame
frameRGB = readFrame(video);
%convertir a escala de gris
%frameGray_previous = rgb2gray(frameRGB);
frameGray_previous = double(rgb2gray(frameRGB));

while hasFrame(video)
%for i=1:video.NumberOfFrames
    %leer el frame
    frameRGB = readFrame(video);
    %convertir a escala de gris
    %frameGray_current = rgb2gray(frameRGB);
    frameGray_current = double(rgb2gray(frameRGB));

    %restar
    r=frameGray_current-frameGray_previous;
    r=r.*r;
    r=normalizar(r,0,255);
   
    %Simple Umbral
    th=5;
    bI=r;
    bI(bI>th)=255;
    bI(bI<th)=0;
    
    %
    figure(1);
    subplot(2,2,1);imagesc(frameGray_current);title('$f_{t}$','Interpreter','latex');
    subplot(2,2,2);imagesc(r);title('$r_{t}$','Interpreter','latex');
    subplot(2,2,3);imagesc(bI);title('$bI_{t}$','Interpreter','latex');
    
    colormap gray;
    drawnow;
    
    frameGray_previous=frameGray_current;
end


%Otra forma de visualizar las diferencias entre frames:
% close all;
% clear all;
% clc;
% 
% vid=VideoReader('../videos/highway.avi');
% mov=read(vid);
% 
% implay(mov);
% 
% mov_new=diff(mov,1,4)*10;
% newVid=VideoWriter('../videos/highway_diferencias.avi');
% open(newVid);
% writeVideo(newVid,mov_new);
% close(newVid);
% implay('../videos/highway_diferencias.avi');
%Referencia: Video Processing in MatLab, https://www.youtube.com/watch?v=15v_9VJa020






