How to extract features of videos
4 次查看(过去 30 天)
显示 更早的评论
Hello.
I want to classify videos after extracting features.
When I use background substraction as extracting features, the result of classification is not good.
Could I get some ideas about feature extraction in videos?
This is code about background substraction. I want to use other methods for feature extraction
%// read the video:
list = dir('*.avi')
% loop through the filenames in the list
for k = 1:length(list)
reader = VideoReader(list(k).name);
vid = {};
while hasFrame(reader)
vid{end+1} = im2single(readFrame(reader));
end
%// simple background estimation using mean:
bg = csvread('background.csv');
bg = reshape(bg, 144, 180, 3);
%// estimate foreground as deviation from estimated background:
for i=1:25
fIdx(i) = i; %// do it for frame 1 ~ 60
fg{i} = sum( abs( vid{fIdx(i)} - bg ), 3 );
fgh{i} = imresize(fg{i}, 0.2);
fg{i} = reshape(fgh{i},[],1);
end
X = cell2mat(fg);
1 个评论
Kenta
2020-3-29
Another option is the use of pre-trained convolutional neural network.
For example, a video can be classified with CNN and LSTM.
采纳的回答
Image Analyst
2020-3-23
I extract some features in the attached demo. I compute a dynamic background from the last few frames and subtract it to get the changes, and I also plot the mean R, G, and G values. You could of course compute other things -- whatever you want. If background subtraction is not good for what you want to segment, then you'll have to devise a different segmentation routine. Background subtraction is not appropriate for all situations obviously.
4 个评论
Image Analyst
2020-3-29
What I would do it to use a higher resolution camera and use less compression, because the images are of horribly low quality - almost unusable.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!