我在視頻幀上進行基於平移顏色的圖像分割。 這是我的代碼:MATLAB:如果他們花費太多時間,我該如何避免iamresize和VideoReader?
while hasFrame(v)
if k == 1
s(k).cdata = readFrame(v);
a = s(k).cdata;
I = imresize(a,[50,50]);
[means, Ims, Nms] = Ms(I,bw); %Mean Shift on first frame
Ims = im2uint8(Ims);
s(k).cdata = Ims;
else
s(k).cdata = readFrame(v);
a = s(k).cdata;
I = imresize(a,[50,50]);
[Ims,data2cluster]= MeanShiftCluster2(I,means); % simple segmentation based on norm using means of first frame
Ims = im2uint8(Ims);
Ims = imresize(Ims,[500,720]);
s(k).cdata = Ims;
end
k=k+1;
end
我送爲平均換檔執行第一幀,然後使用相同的所得裝置,用於所有其它幀來計算歐幾里德距離(我的幀具有輕微的變化)的基礎上它們各自的集羣。
問題: Profiler告訴iamresize和VideoReader函數執行時間太長。有什麼替代品可以使用?