The MontiVision Development Kit includes a comprehensive list of DirectShow filters for use in image processing, machine vision, surveillance and multimedia applications.
Introduction
MontiVision DirectShow filters provide a couple of common functionalities implemented in most filters: Common Filter Functions (Histogram, Region Of Interest, Filter Parameter Persistance, Filter Information, About Dialog)
Most MontiVision filters provide an Event Mechanism to control the workflow of your application.
It is possible use all of the DirectShow® filters available on your system. You can also use filters from other vendors or create your own. To build your own filter you can either use our Filter SDK or the Microsoft DirectShow® SDK.
Filter Overview
Using MontiVision DirectShow® Filters
To work with the DirectShow Filters, you have to request the interfaces of these filters. The Smart ActiveX Control included in the MontiVision Development Kit provides a GetFilter method. This methods returns the IUnknown interface of a filter. Using the IUnknow interface you can request all the other interfaces of a filter.
How to do this in code depends on the development enviroment. For more details, please have a look at the Sample Applications of the MontiVision Development Kit and the following links.
Trial Version Limitations
The unregistered versions of the MontiVision DirectShow Filters insert the MontiVision logo in the video stream. Filters without video output run for 30 minutes before they need to be reinserted into the Workbench.
| Loads still image batches, used for batch image processing. | |
| Video source filter for demo and test purposes. | |
| Loads Leitch DPS compatible video files. | |
| Loads still images and creates a video stream. | |
| Source filter for use with network (IP) cameras. | |
| Receives media streams from a TCP/IP network. | |
| Plays multiple video files as one video stream. |
| Writes a video stream to file in Leitch DPS compatible format. | |
| Creates a still image sequence from a video stream. | |
| Writes a video stream into multiple video files. | |
| Sends media streams over a TCP/IP network. |
| Captures still images somewhere inside a filter configuration. | |
| Creates a still image sequence from a video stream. | |
| Writes a video stream into multiple video files. | |
| Video recording, time lapse and snapshot functionality. |
Video Compression/Decompression
| Compresses the video stream using Motion JPEG. | |
| Decompresses Motion JPEG video streams. | |
|
MV YUV To RGB |
Converts YUV color format to RGB color format. |
Image Processing, Filtering, Arithmetic, Logic
| Convolution using freely definable matrices. | |
| Several linear filters (e.g. Gauss, Laplace, Sobel, Prewitt) | |
| Combines a video stream and a scalar using an arithmetic operator. | |
| Combines a video stream and a scalar using a logic operator. | |
| Morphologic operators (erode, dilate, open, close). | |
| Nonlinear filters (median, min, max). | |
| Generates a topography map from the video frame. | |
| Automatic or manual segmentation of a color or grayscale video. | |
| Inverts a video stream. | |
| Look up table operations. (e.g. histogram equalization or stretching) |
Arithmetic/Logic on Two Streams, Video Mixing
| Calculate the absolute difference of two video streams. | |
| Combines two video streams using an arithmetic operator. | |
| Combines two video streams using a logic operator. |
| Calculates the temporal integral of a video stream. | |
| Calculates the average image from a number of successive video frames. |
| Evaluates the co-occurrence matrix. | |
| Calculates and adjusts the mean value (illumination). |
| Calculates and visualises row and column mean profiles. | |
| Visualises the pixel value profiles of rows or columns. |
| Rotates and displaces the input. | |
| Crops and outputs a region from the input video. | |
| Flips the video horizontally and/or vertically. | |
| Resizes the video stream. | |
| Rotates the video stream. The output is resized to avoid cut off. | |
| Rotates the video by 90, 180 and 270 degrees. | |
| Rotation using different interpolation modes. | |
| Magnifies a freely definable region. |
| Color to grayscale conversion. | |
| Automatic or manual segmentation of a color or grayscale video. | |
| Converts the color channels according to a 4 x 4 matrix. | |
| Converts a grayscale image to color. | |
|
MV YUV To RGB |
Converts YUV color format to RGB color format. |
| Filters out colors ranges of a color image, works in different color spaces. | |
| Color filtering similiar to MV Color, but with much better performance. |
Text, Graphics and Image Overlay Filter
| Overlays a bitmap file onto the video stream. | |
| Overlays a GDI surface onto the video stream. | |
| Overlays text onto the video stream. | |
| Overlays a ticker text onto the video stream. |
| Retrieve the calibration parameters of a camera. | |
| Create a calibrated video stream using a camera calibration parameter set. | |
| Corrects the perspective of an image. |
Machine Vision, Computer Vision
| Count the blobs (objects or contours) within an image. | |
| Find a specific blob (object or contour) within an image. | |
| Sub-Pixel accurate image measurement. | |
| Checks regions within the image for the presence of an object. | |
| Calculates the optical flow of a video stream. | |
| Calculates and visualizes the optical flow of a video stream. | |
| Mask a part of the image using an elliptical or a rectangular mask. |
| Motion detection in one or more predefined regions. | |
| Determines the global motion direction using motion templates algorithm. | |
| Calculates the optical flow of a video stream. | |
| Calculates and visualizes the optical flow of a video stream. | |
| Deinterlaces the video stream and output frame rate is equal to input rate. | |
| Deinterlaces the video stream and doubles the output frame rate. | |
| Video recording, time lapse and snapshot functionality. | |
| Demultiplexes the frames of the input stream to its output pins. | |
| Get a block out of a viedeo stream before and after a trigger event. | |
| Writes a video stream into multiple video files. | |
| Plays multiple video files as one video stream. | |
| Monitors the video stream and signals period time overflows. |
| Deinterlaces the video stream and output frame rate is equal to input rate. | |
| Deinterlaces the video stream and doubles the output frame rate. | |
| Video recording, time lapse and snapshot functionality. | |
| Writes a video stream into multiple video files. | |
| Plays multiple video files as one video stream. |
| Synchronises the video streams of two hardware sources. | |
| Software trigger to facilitate selective image processing. |
| Provides application access to the video frame buffer. | |
| Direct access to the frame buffer of a DV stream. |
| Receives media streams from a TCP/IP network. | |
| A source filter to control other filter with boolean I/O input pins. | |
| Connects to integer pins of other filters in order to control them. | |
| Send and resceives I/O data from a serial interface. | |
| Triggers its output pins after receiving defined events from the serial port. | |
| Filter to trigger other imaging filter, e.g. MV Trigger Source. | |
| Get I/O input data from a text file. |
| Works with upper and lower threshold to stabilize an I/O signal stream. | |
| Combines two I/O signals using a logic operator. | |
| Inverts an I/O signal. | |
| Converts an I/O signal to a text string for output or overlay. | |
| Multiplies the input signal. |
| Sends media streams over a TCP/IP network. | |
| Displays an integer value received on its input pin. | |
| Used for I/O output in combination with the MV I/O Controls. | |
| Send and resceives I/O data from a serial interface. | |
| Creates a text file from a template, used for logging purposes. |
| Delays the frames of a video stream by a specified number of frames. | |
| Allows to select a specific mediatype for a connection between two filters. | |
| Multiplies the input signal. | |
| Monitors the video stream and signals period time overflows. | |
| Merges two streams to a new stream with double height or width. | |
| Track the position from an object. | |
| Places the fields of an interlaced video frame on top of each other. |