This library contains helper functions to read image frames into matlab from Video file using DirectShow. This library has borrowed codes from Ashwin Thangali's "DirectShow (DirectX) based AVI file reader", and it can read multiple video formats besides avi.
a) can read frames from rmvb, avi, etc.
b) handles most codecs installed on the system
d) its implementation is only based on the IMediaDet interface
-- Depending on your Matlab version, the .mexw32 files may need to be renamed as .dll
-- The library usage is as follows,
[avi_hdl, avi_inf] = dxVideoOpen(avi_filename);
pixmap = dxVideoReadMex(avi_hdl, frame_num);
img = reshape(pixmap,[avi_inf.Height,avi_inf.Width,3]);
-- recompile the library
I have compiled the code with the DirectShow lib in Microsoft DirectX 9.0 SDK Update (December 2004)
-- known limitation
a)only works for windows :(
b)may be slow for big image frames and some codecs.
Lei Wang (2023). DirectShow (DirectX) based Video file reader (https://www.mathworks.com/matlabcentral/fileexchange/15864-directshow-directx-based-video-file-reader), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: DirectShow (DirectX) based AVI file reader
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!