Video processing systems require a stream processing architecture, in which video frames from a continuous stream are processed one (or more) at a time. This type of processing is critical in systems that have live video or where the video data is so large that loading the entire set into the workspace is inefficient. Computer Vision Toolbox supports a stream processing architecture through System objects™ (for use in MATLAB®) and blocks (for use in Simulink®).
Acquire Video from Industry-Standard Hardware
You can acquire images and video directly into MATLAB and Simulink from PC-compatible imaging hardware. With support for multiple hardware vendors, you can use a range of imaging devices, from inexpensive web cameras or industrial frame grabbers to high-end scientific cameras that meet low-light, high-speed, and other challenging requirements.
Process and Analyze Video to Develop New Solutions
Video applications present common but difficult challenges that require flexible analysis and processing functionality. Using MATLAB and Simulink products, you can:
- Solve frequent pre- and postprocessing problems, such as interfering noise, low contrast, out-of-focus optics, and artifacts introduced by interlacing
- Analyze video with methods such as edge detection, blob analysis, template matching, optical flow, and corner detection
- Develop solutions to common video processing challenges such as video stabilization, video mosaicking (MATLAB), target detection, and tracking
Design Real-Time Embedded Video Processing Systems
Once you have captured a video processing system design in MATLAB code or a Simulink block diagram, you can evaluate alternatives for impact on performance and fixed-point arithmetic. You can generate real-time embedded code from your block diagram and execute the code on a variety of supported target hardware for verification, debugging, and implementation. Targets that include optimized video processing libraries improve the performance of your system even further.