0

我正在嘗試檢測滾筒帶上的土豆。我創建了空腰帶圖像的平均背景,並希望從視頻的每個幀中減去它並播放,但不知道如何實現這一點。如何從Matlab中的視頻中減去背景

換句話說,我願做這樣的事情,但隨着視頻的每一幀:

>> Z = imread('mean.jpg'); 
>> X = imread('beltpotatoes_1.jpg'); 
>> C = Z - X; 
>> imshow(C); 

我的樣本數據:

平均背景(mean.jpg):https://drive.google.com/file/d/0B_M7fjkKw1r3d0o3VHg1dXVFNmc/edit?usp=sharing

avi文件:https://drive.google.com/file/d/0B_M7fjkKw1r3a3lhdl91bGFLSjQ/edit?usp=sharing

帶,土豆圖像(beltpotatoes_1.jpg):https://drive.google.com/file/d/0B_M7fjkKw1r3SURDV19ud1VBQjQ/edit?usp=sharing

回答

1
Z = imread('mean.jpg'); 
VR=VideoReader('Video.avi'); 
NumInFrames=get(VR,'NumberOfFrames'); 

VW = VideoWriter('new.avi'); 
open(VW); 

for (frame=1:NumInFrames) 
    CDatas(:,:,:)=read(VR,frame) - Z;  
    writeVideo(VW,CDatas); 
end 
close(VW) 
+0

在使用 - 運算符「數組維數必須與二進制數組匹配時」得到數組維數錯誤 – jaspernorth

+0

是您的Z rgb還是灰色? – lennon310

+0

Z是RGB圖像。 – jaspernorth