So far, I know how to use aviread to read the avi file into
matlab memory. I also know how to use frame2im to obtain a
single desired frame from the matlab file and then convert
it into a grayscale image.
However, I don't how to obtain a range of frames.
After I run
a=aviread('movie.avi')
Is there any function/code that will let me extract either
all the image frames from the movie or a section of the
image frames?
Also, I need the image frames to be grayscale.
Thanks
a=aviread('movie.avi');
Should extract all of the frames. If you look at the help
you can also add indexs for the frames you want, like
a = aviread('movie.avi', 1:5);
If the image colours aren't indexed you can convert them to
greyscale with rgb2gray (a.colormap will be empty)
Gray = rgb2gray(a(1).cdata);
figure; imagesc(Gray);
colormap(gray);
I haven't played with colour indexed images in Matlab
before though.
Cheers,
Andrew
"Ross " <ross.nos...@yahoo.com> wrote in message
<fgr7n4$pga$1...@fred.mathworks.com>...
If you are using MATLAB R2007a and later you can use the new mmreader
function to extract your frames and then convert the data to grayscale
using rgb2gray. For example
% create an mmreader object
videoObject = mmreader('movie.avi');
% extract frames 1 through 5
imageData = read( videoObject, [1 5] );
% convert the data to grayscale
grayData = rgb2gray( imageData );
MMReader will also work on other video types, including mpeg-1 and
Windows Media video files.
-Nick
You can read a range of frames using aviread. To read frames 10 through
93 you would use:
a = aviread('movie.avi', 10:93);
You can then convert the data into image data and convert those images
into grayscale images.
If you are using R2007b on Windows, you can also use the new MMREADER
functionality:
mov = mmreader('movie.avi');
data = read(mov, [10 93]);
would do the same as the AVIREAD command above except that you do not
need to use frame2im with the output of MMREADER. Also, MMREADER is
more robust and can read a larger variety of file types than AVIREAD.
-Dave Tarkowski
I can now successfully extract and process frames for my
application.
Thanks again!