Home    MontiVision DirectShow SDK Documentation Prev Next
MontiVision Development Kit
Product Release Notes
What's new?
Installation
Overview
Components
The MontiVision Workbench
How to use the Workbench
How to insert an Filter
How to make a connction between two filter
How to change filter properties
How to get mediatypes of a pin or connection
How to delete a connection
How to delete a filter
How to find a filter
How to select a filter, pin or connection
How to make a video visible
How to preview a video stream
Workbench Menus and Commands
File menu commands
Edit menu commands
View menu commands
Graph menu commands
Extras menu commands
Help menu commands
Context menu commands
Status Bar
Toolbar
Sorting Filters
MontiVision DirectShow Filter
Common filter functions
MV Absolute Difference
MV Advanced Optical Flow
MV Affine Transformation
MV Alignment
MV Audio Test Source
MV Batch Image File Source
MV Background Subtraction
MV Bayer To Gray
MV Bayer To RGB
MV Bitmap Overlay
MV Blob Counter
MV Blob Finder
MV BlockRecording
MV Buffer Access
MV Camera Calibration
MV Camera Syncronisation
MV Camera Undistortion
MV Color Filter
MV Color Channel Mixer
MV Color Space Converter
MV Color To Gray
MV Color Twist
MV Constant Framerate
MV Convolution
MV Cooccurrence
MV Crop
MV Deinterlace
MV DeInterlace Temporal
MV Delay
MV Demo Source
MV Demultiplexer
MV DPS Renderer
MV DPS Source
MV Dyadic Arithmetic
MV Dyadic Logic
MV Fast Color Filter
MV Frame Access
MV Gauge
MV GDI Overlay
MV Gray To Color
MV Image File Source
MV Image Grabber
MV Image File Renderer
MV Integral
MV Inverse
MV I/O Bool Source
MV I/O Comparator
MV I/O Logic
MV I/O Not
MV I/O Renderer
MV I/O RS232
MV I/O RS232 Trigger Source
MV I/O Switch Source
MV I/O Textfile Renderer
MV I/O Textfile Source
MV I/O To String
MV IP Camera Source
MV Look Up Table
MV Mean
MV Mean Profile
MV Merge Frames
MV Mirror
MV MJPEG Compressor
MV MJPEG Decompressor
MV Mondic Arithmetic
MV Mondic Logic
MV Morphology
MV Motion Detection
MV Motion Direction
MV Multi File Writer
MV Network Renderer
MV Network Source
MV Nonlinear Filter
MV Object Tracker
MV Optical Flow
MV Playlist Source
MV Polar
MV Presence Detection
MV Profile
MV Recording
MV ReInterlace
MV Resize
MV Resized Rotation
MV Rotate90
MV Rotation
MV Segmentation
MV Select Mediatype
MV Separate Fields
MV Smooth Sequence
MV Splitter
MV Text Overlay
MV Ticker Overlay
MV Topography
MV Trigger Source
MV Video File Overlay
MV Video Overlay
MV Video Scaler
MV Watchdog
MV Zoom
Filter Event Mechanism
MontiVision DirectShow Filter SDK
Create a new Filter SDK DLL
Implement your custom Algorithm
Register the Filter SDK DLL
Use the new DirectShow Filter
Debugging a DirectShow Filter
Configure a Filter SDK DirectShow Filter
MontiVision Smart ActiveX Control
MV Smart Control Functions
MV Smart Control Interfaces
IMVSmartControl
IMVSCFilterGraph
IMVSCFilterGraph2
IMVSCVideoWindow
IMVSCVideoWindow2
IMVSCFullScreen
IMVSCSetFile
IMVSCSetSourceFilter
IMVSCSelectInput
IMVSCSetupVideoStream
IMVSCSetupVideoStream2
IMVSCClock
IMVSCFilterProperties
IMVSCLog
IMVSCCameraControl
IMVSCFilterEvents
IMVSCMediaSeeking
IMVSCMediaSeeking2
IMVSCQualityProperties
IMVSCFilterData
IMVSCCommonProperties
IMVSCExtDeviceControl
IMVSCVideoControl
IMVSCAnalogVideoFormat
IMVSCTVTuner
IMVSCTVAudio
Application Development with the MV Smart Control
Visual Basic 6.0
Visual Basic .NET
Visual C++ 6.0
Visual C++ .NET
Borland Delphi
MV Smart Control Samples
AviPlay Sample
CropVideo Sample
DirFinder Sample
FindObject Sample
FullScreen Sample
ImageStream Sample
IP Camera Sample
LiveDraw Sample
LoadFromString Sample
LumeneraCameraProperties Sample
MotionDetection Sample
PutBitmap Sample
SendReceiveRS232 Sample
MV Smart Control How To's
How to handle Input Events (Mouse, Keyboard) of the Video Window
How to Select and Configure a Video Input Device
How to handle Multiple Video Outputs
How to use Fullscreen Functionality
How to access the Results of a MontiVsion DirectShow Filter
MontiVision Utility ActiveX Controls
Video Source Combo Box
Video Format Combo Box
Video Size Combo Box
Input Selection Combo Box
Frame Rate Combo Box
Seeking Slider
Filter Property Page Display
Trigger Button
MontiVision I/O Controls
MVIODisplay
MVIOMonitor
MVIOLed
MVIOOutput
VMR Wrapper ActiveX Control
MV VMR Wrapper Interfaces
IMVVMRWrapper
IMVVMRFilterConfig
IMVVMRMixerControl
IMVVMRMixerBitmap
MV VMR Wrapper Sample Applications
VMR Control Sample
VMR Bitmap Overlay Sample
Extended Video Source ActiveX Control
MV Extended Video Source Control Interfaces
IMVExtendedVideoSource Interface
IMVLumeneraCustomConfig Interface
_IMVExtendedVideoSourceEvents Interface
MontiVision Tools
Getting Started
Create a MontiVision Project
Create a MontiVision Project using the MontiVision Workbench
Create new DirectShow Filters using the MontiVision Filter SDK
Use the new DirectShow Filter in your MontiVision Project
Integrate the MontiVision Project into your Application
Distribute your Application
Distributing your Applications
Application Development Examples
Apply standard Image Processing Operators to a Video Stream
Process a Sequence of Still Images, Do Batch Processing
Make your Existing Algorithms DirectShow compatible
Creating your own Image/Video Processing DirectShow Filters
Access the Image Data of a Video Stream directly from within a Windows Application
Capture Still Images from a running Video Stream
Convert a Video Stream to a Sequence of Still Images or vice versa
Sample Applications using the Smart Control
Camera Calibration
Additional HowTo's
How to Set Up Visual C++ for the MontiVision Development Kit
How to Set Up Borland Delphi for the MontiVision Development Kit
How to Set Up Borland Delphi 2005 for the MontiVision Development Kit
Interface Reference
_IMVFilterPropertyControlEvents
_IMVSeekingSliderEvents
_IMVSmartControlEvents
_ISelectInputComboBoxEvents
_IVideoFormatComboBoxEvents
_IVideoSizeComboBoxEvents
_IVideoSourceComboBoxEvents
IMVAbout
IMVAdvancedOpticalFlow
IMVAdvancedOpticalFlow2
IMVAffineTransformation
IMVAlignment
IMVAudioTestSource
IMVAutoCalcSetup
IMVBackgroundSubtraction
IMVBatchFileSource2
IMVBatchFileSource3
IMVBatchFileSource
IMVBinary
IMVBitmapOverlay
IMVBitmapOverlay2
IMVBlobCounter
IMVBlobCounter2
IMVBlobCounter3
IMVBlobCounter4
IMVBlobFinder
IMVBlobFinder2
IMVBlobFinder3
IMVBlobPostProcessing
IMVBlobPreProcessing
IMVBlockRecording
IMVBufferAccess
IMVBufferAccessCallbackC
IMVBufferAccessCallbackVB
IMVCameraCalibration
IMVCameraSync
IMVCameraUndistortion
IMVColor
IMVColorChannelMixer
IMVColorTwist
IMVConstantFramerate
IMVConvolution
IMVCooccurrence
IMVCrop
IMVCrypt
IMVDeinterlace
IMVDeInterlaceTemporal
IMVDelay
IMVDemoSource
IMVDemoSource2
IMVDPSRenderer
IMVDPSSource
IMVDyArith
IMVDyLogic
IMVEnumAudioEncoder
IMVEnumVideoEncoder
IMVFastColor
IMVFilterData
IMVFilterEvents
IMVFilterInfo
IMVFilterPropertyControl
IMVFilterSDK
IMVFrameAccess
IMVFrameAccessCallbackC
IMVFrameAccessCallbackVB
IMVGauge
IMVGaugeCalculations
IMVGDIOverlay
IMVGray
IMVGrayToColor
IMVGrid
IMVHistogram
IMVHistogram2
IMVHistogram3
IMVImageCapture
IMVImageCapture2
IMVImageCapture3
IMVImageFileSource
IMVImageFileSource2
IMVImageFileSource3
IMVImageInfo
IMVIntegral
IMVIOBoolSource
IMVIOBoolSource2
IMVIOComparator
IMVIOIntRenderer
IMVIOIntSource
IMVIOIntSource2
IMVIOLogic
IMVIONot
IMVIORenderer
IMVIORS232
IMVIORS232DataASCII
IMVIORS232DataHex.htm
IMVIORS232RxTxConnection
IMVIORS232TriggerSource
IMVIOSwitchSource
IMVIOTextfileRenderer
IMVIOTextfileSource
IMVIOToString
IMVIPCameraSource
IMVIPCameraSource2
IMVLinFilter
IMVLookUpTable
IMVMask
IMVMean
IMVMeanProfile
IMVMerger
IMVMirror
IMVMonArith
IMVMonLogic
IMVMorphology
IMVMotionDetection
IMVMotionDetection2
IMVMotionDirection
IMVMultiFileWriter
IMVNetworkReceiveInfo
IMVNetworkRenderer
IMVNetworkRenderer2
IMVNetworkRenderer3
IMVNetworkSendInfo
IMVNetworkSource
IMVNetworkSource2
IMVNonLinFilter
IMVObjectTracker
IMVOpticalFlow
IMVOpticalFlow2
IMVPlaylist
IMVPlaylistSource
IMVPolar
IMVPresenceDetection
IMVProfile
IMVRecording
IMVRegionOfInterest
IMVReinterlace
IMVResize
IMVResizedRotation
IMVRotate90
IMVRotation
IMVSCAnalogVideoFormat
IMVSCCameraControl
IMVSCCommonProperties
IMVSCClock
IMVSCExtDeviceControl
IMVSCFilterData
IMVSCFilterEvents
IMVSCFilterGraph
IMVSCFilterGraph2
IMVSCFilterProperties
IMVSCFullScreen
IMVSCLog
IMVSCMediaSeeking
IMVSCMediaSeeking2
IMVSCQualityProperties
IMVSCSelectInput
IMVSCSetFile
IMVSCSetSourceFilter
IMVSCTVTuner
IMVSCTVAudio
IMVSCVideoControl
IMVSCSetupVideoStream
IMVSCSetupVideoStream2
IMVSCVideoWindow
IMVSCVideoWindow2
IMVSeekingSlider
IMVSetImageFormat
IMVSmartControl
IMVSeparateFields
IMVSmoothSequence
IMVTextOverlay
IMVTextOverlay2
IMVTextOverlay3
IMVTickerOverlay
IMVTickerOverlay2
IMVTopography
IMVTrigger
IMVTriggerFilter
IMVVideoFileOverlay
IMVVideoScaler
IMVVMRFilterConfig
IMVVMRMixerBitmap
IMVVMRMixerControl
IMVVMRWrapper
IMVWatchdog
IMVZoom
IMVZoomConfig
ISelectInputComboBox
IVideoFormatComboBox
IVideoSizeComboBox
IVideoSourceComboBox

Common DirectShow Filter Functionalities

The following interfaces are commonly used by all MontiVision DirectShow Filters, even if some filters do not support all of them.

IMVHistogram

IMVHistogram2

IMVHistogram3

IMVRegionOfInterest (See ROI Concept)

IMVFilterData

IMVAbout

IMVFilterInfo

 

Property Pages

MontiVision DirectShow Filters using the   IMVHistogram, IMVRegionOfInterest, IMVFilterData or IMVAbout interfaces, include a property page to configure those filters. The following section describes how to use the MontiVision standard property pages.

Histogram Property Page

Region Of Interest Property Page (See ROI Concept)

Filter Data Property Page

About Property Page

 

Histogram Property Page

The histogram property page uses the IMVHistogram interface to display the histogram of the processed image.

Histogram property page
Histogram property page

Update Updates the histogram. The update is done automatically if the pin direction, pin number or colour channel is changed.
Direction If input is selected, the histogram of the image is taken before the image is processed by the image processing algorithm. Otherwise the histogram is taken after the image is processed.
Pin If the filter supports multiple input or output pins, the desired pin can be selected.
Channel If RGB images are being processed, the channel of interest can be chosen. If "All" is chosen, all channels are added up and displayed in one histogram.
Clipping Clipping is useful when the processed image is over or underexposed. If (for example) the image is overexposed, the histogram value for white pixels (value 255) will be very high. Clipping the white value will result in a better view of the histogram.
Histogram values The mouse is used to get the histogram values. If the mouse is positioned somewhere inside the histogram window, the value of the histogram index at that position is displayed.

 

Region Of InterestProperty Page

The ROI property page uses the IMVRegionOfInterest interface to display and modify the ROIs and COIs of the processed image. Some MontiVision image processing filters support different ROIs for the input and the output image. That can be used to show results of the processed input ROI at another position in the output image. In the  example  below, the input ROI is different from the output ROI and the result of the process is displayed in the lower left corner of the output image. NB: If the result has to be shown at its original position, both ROIs have to be equal. For additional information please take a look at the  ROI concept.

Region Of Interest property page
Region Of Interest property page

Direction If input is selected, the ROI of the input image is modified. Otherwise the ROI of the output image is modified.
Pin If the filter supports multiple input or output pins, the desired pin can be selected.
COI If RGB images are processed and channel of interest operations are supported, the channel of interest can be chosen. If "All" is chosen, all channels are modified. If a single channel is chosen, the output COI has to be a single channel too. If for example the input COI is set to "G" (green) and the output COI is set to "R" (red), the green colour channel of the input is processed and copied to the red colour channel of the output image.
Origin Used to adjust the position of the lower left corner of the ROI.
Dimension Used to adjust the dimension of the ROI.
Link ROI's Used to adjust input and output ROI together, useful if the ROIs are set to the same region.
Copy image If the control is checked, the original image is copied from the input to the output. That is useful, if you process an ROI and want to keep the background of the original image. The example below shows a ROI processed image with background image enabled.

ROI Example (Different input and output ROIs):

ROI output image
ROI output image

 

Filter Data Property Page

The filter data property page uses the IMVFilterData interface to load and save filter configurations to the registry. Therefore it uses the filter's standard registry key.

Load/Save property page
Load/Save property page

 

About Property Page

The about property page uses the IMVAbout interface to display information about the filter and its registration.  .

About dialog property page
About dialog property page