I want to load a video and extract frames from it, save them and then use rgb2gray, edge detection and matching on specific frames...what will be the MATLAB commands for it??
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
SURILA GUGLANI
le 23 Mai 2018
Réponse apportée : Image Analyst
le 26 Mai 2018
VideoReader
0 commentaires
Réponse acceptée
Florian Morsch
le 24 Mai 2018
To load a video: videoFileReader = vision.VideoFileReader('Video.avi');
Take a frame from the video: videoFrame = step(videoFileReader);
RGB to gray: videoFrameGray = rgb2gray(videoFrame);
Edge detection (canny or sobel): sobelEdge = edge(image,'sobel'); cannyEdge = edge(image,'canny');
For matching you have to set the features yourself and then check the frames you want for the features.
2 commentaires
Florian Morsch
le 24 Mai 2018
Modifié(e) : Florian Morsch
le 24 Mai 2018
If you use
videoFrame = step(videoFileReader);
thats only for one frame. If you want it for multiple frames you can use a while-loop with a condition. For example you can create a while-loop which runs as long as you video is playing. When the video is finished, the loop ends, like this:
while ~isDone(videoFileReader)
% Do something
end
Also dont forget to release the file reader and if you display it, also the video player.
Plus de réponses (2)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!