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 (최근 30일)
VideoReader

채택된 답변

Florian Morsch
Florian Morsch 2018년 5월 24일
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
SURILA GUGLANI
SURILA GUGLANI 2018년 5월 24일
Is this only for one frame?? Or will it work for Different frames altogether?
Florian Morsch
Florian Morsch 2018년 5월 24일
편집: Florian Morsch 2018년 5월 24일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Image Analyst
Image Analyst 2018년 5월 26일
See my attached demo.

SURILA GUGLANI
SURILA GUGLANI 2018년 5월 26일
Thank you.

제품


릴리스

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by