Cómo procesar video grande en Matlab con for loop y sin error de memoria

Soy nuevo en el procesamiento de Matlab, y me gustaría leer y procesar un video grande (más de 200k fotogramas) dentro de un "bucle for" (o sin él). En particular, me gustaría:

leer el video con VideoReader,subdividir el video en n-epoch de 1000 cuadros cada uno,procese cada época de 1000 cuadros, leyendo: el primer cuadro de la época, salte dos, lea el cuadro, salte dos, y así sucesivamente (por ejemplo i = 1: 3: nFrames),considerando todas las épocas que necesito para convertir cada "marco RGB" leído en im2bwdespués de la conversión, necesito hacer la correlación bidimensional "corr2" considerando el primer cuadro de video ("mov (1,1) .cdata") y todos los cuadros leídos dentro de la época.almacenar el resultado de "corr2" en un vector.

En resumen, esto es lo que necesito hacer. Gracias a todos

Esto es lo que tengo hasta ahora, sobre "corr2":

for frame_ind = 1 : nFrames
  mov(frame_ind).cdata = im2bw(rgb2gray(read(xyloObj,frame_ind)),0.20);      
end

%% Corr2 to compare BW video frames
for frame_ind2 = 1:(frame_ind-1)
    R(frame_ind2)=corr2(mov(1,frame_ind2).cdata,mov(1,frame_ind2+1).cdata);
end

 TF= isnan(R); 
 g=sum(TF);
 f=(length(R)-g);


if (g~=(length(R))) 
  %%If Part has errors 
  disp('"Part_1" has video interferences/noise/problems, see "Testresult.txt" for more information.');
 else 
  %%If Part has not errors  
  displ=strcat('"Part_1" has not video interferences/noise/problems.');
 end

Respuestas a la pregunta(2)

Su respuesta a la pregunta