私はMatlab処理が初めてで、「forループ」内(またはループなし)で大きなビデオ(20万フレーム以上)を読み込んで処理したいと考えています。特に、私はしたいです:
- VideoReader でビデオを読み、
- ビデオをそれぞれ 1000 フレームの n エポックに分割し、
- 1000 フレームのすべてのエポックを処理し、読み取り: エポックの最初のフレーム、2 つスキップ、フレームの読み取り、2 つスキップなど (たとえば、i=1:3:nFrames)、
- すべてのエポックを考慮して、読み取ったすべての「RGBフレーム」をim2bwに変換する必要があります
- 変換後、最初のビデオ フレーム ("mov(1,1).cdata") とエポック内で読み取られたすべてのフレームを考慮して、"corr2" 2D 相互相関を作成する必要があります。
- 「corr2」からの結果をベクトルに格納します。
要約すると、これは私がする必要があることです。皆さん、ありがとうございました
これは、「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