MontiVision® Barcode SDK

MV Barcode Decoder DirectShow Filters

The MontiVision Barcode Decoder SDK an add-on module for the MontiVision Development Kit and includes two DirectShow Filters, MV Barcode Decoder (Standard) and MV Barcode Decoder (Advanced). The barcode SDK fully integrates with the MontiVision Development Kit.

 

MV Barcode Decoder (Standard)

The standard decoder supports all common linear and two-dimensional barcodes. It can be used for testing within the MontiVision Workbench or Microsoft GraphEdit straight away. The decoding output is altered by changing some of the characters to "$". For example, the result "1234567890" could be altered to "12$45$7$890". This limitation will be removed after a valid license for the standard barcode decoder has been installed. Licenses are delivered as *.reg files, which means that the license key is written to the Windows Registry. This makes redistribution simple and hassle free. Please refer to the Barcode SDK price list for information about licensing and pricing.

MV Barcode Decoder (Standard) DirectShow Filter

File: BarcodeDecoderStandard.dll
Header: iMVBarcodeDecoderStandard.h
IDL: iMVBarcodeDecoderStandard.idl
CLSID: CLSID_MVBarcodeDecoderStandard

Supported Barcodes

Linear Barcode Types

 

MV Barcode Decoder (Advanced)

The advanced decoder supports Data Matrix 2D and common linear barcodes. It requires a USB dongle to work. The advanced decoder offers unmatched recognition quality, enhanced performance and ECC200 quality analysis for demanding applications. Please contact sales@montivision.com if you would like to obtain a USB dongle for evaluation. Please refer to the Barcode SDK price list for information about licensing and pricing.

MV Barcode Decoder (Advanced) DirectShow Filter

File: BarcodeDecoderAdvanced.dll
Header: iMVBarcodeDecoderAdvanced.h
IDL: iMVBarcodeDecoderAdvanced.idl
CLSID: CLSID_MVBarcodeDecoderAdvanced

Supported Barcodes

Linear Barcode Types

Specification for the Advanced Data Matrix Decoder

 

Development

The barcode decoders are used in the same way the DirectShow filters included in the development kit are used. They are customized using the IMVBarcodeDecoder, IMVBarcodeDecoder2 or IMVBarcodeDecoder3 COM interface. Results are obtained by either polling IMVBarcodeDecoderResults using a timer, querying IMVBarcodeDecoderResults after the filter fired an MV_ALGORITHM_END COM Event or implementing one of the filters COM callback interfaces, IMVBarcodeDecoderCallback or IMVBarcodeDecoderCallback2.

Please have a look at the samples applications installed with the SDK for details. The sample applications are installed to the appropriate sample folders of the MontiVision Development Kit. The BarcodeSample applications demonstrate the use of the callback interface mechanism though IMVBarcodeDecoderCallback2, since polling the results using IMVBarcodeDecoderResults is very simple and can easily be implemented.

 

Supported COM Interfaces

IMVBarcodeDecoder

IMVBarcodeDecoder2

IMVBarcodeDecoder3

IMVBarcodeDecoderResults

IMVBarcodeDecoderCallback

IMVBarcodeDecoderCallback2

IMVRegionOfInterest (Refer to the MontiVision Development Kit Documentation)

IMVHistogram3 (Refer to the MontiVision Development Kit Documentation)

IMVFilterInfo (Refer to the MontiVision Development Kit Documentation)

IMVAbout (Refer to the MontiVision Development Kit Documentation)

IMVFilterData (Refer to the MontiVision Development Kit Documentation)

 

Supported COM Events

IMVFilterEvents (Refer to the MontiVision Development Kit Documentation)

 

MV Barcode Decoder Property Pages


Barcode Decoder DirectShow Filter Property Page

Uses the IMVBarcodeDecoder3 interface to customize the filter settings.

Decoder Every decoder can be enabled or disabled by its corresponding checkbox.
It is possible to use more than one decoder at the same time.
Attention: The advanced decoder requires a USB dongle to work.
Graphical Output Used to visualize the decoding results. It is possible to have a colored rectangle drawn around the decoded barcode and the decoded string drawn above the barcode as shown in the following image.
Performance Option to read a single code. This is usually faster. It is not guaranteed that only one code is recognized, but optimizes the recognition algorithm.
Code Color Only For the standard decoder: Tells the recognition engine to look for bright codes on dark background. By default, the standard decoder searches dark codes on a brighter background.

 

Environment property page
Recognition Environment Property Page

Uses the IMVBarcodeDecoder3 interface to optimize the recognition for different environments. You can find some example configurations at the bottom of this page.

Good Good Contrast and Uniform Background.
Limited Limited Contrast.
Poor Limited Contrast and/or Non-Uniform Background.
Output Preprocessed Image Outputs the preprocessed grey/binary image in order to be able to visually optimize the settings.

 

2D Barcode Optimization Property Page
Data Matrix Dot Peen Code Optimization

Uses the IMVBarcodeDecoder3 interface to optimize the recognition for dot-peen'd Data Matrix barcodes.

 


Barcode Decoder Results Property Page

Uses the IMVBarcodeDecoderResults interface to display the results of the decoding process.

 

Histogram Property Page
Histogram Property Page

Uses the IMVHistogram3 interface to display the input and output image histograms.
(Refer to the MontiVision Development Kit Documentation)

 


Region of Interest Property Page

Uses the IMVRegionOfInterest interface to specify a region of interest for the decoder.
(Refer to the MontiVision Development Kit Documentation)

 


Barcode Decoder Load/Save Property Page
(Refer to the MontiVision Development Kit Documentation)

 


Barcode Decoder About Property Page
(Refer to the MontiVision Development Kit Documentation)

 

Redistribution

MV Barcode Decoder (Standard)

The following files from the 'redist' folder are required for redistribution of the standard decoder:

After the files have been copied to the installation folder of the target PC, the BarcodeDecoderStandard.dll COM component has to be registered in the system either by using RegSvr32.exe from the "Windows\System32" folder or by your installer software (COM registration).

If you would like to redistribute the MontiVision standard property pages like "Region Of Interest", "Histogram" etc., then you have to include the files PropPages.ax and MVGenParamConfig from the MontiVision Development Kit 'redist' folder. PropPages.ax also has to be registered in the system as described above.

Please have an additional look at the MontiVision Development Kit documentation: Redistribution, Dependency Table

 

MV Barcode Decoder (Advanced)

The following files from the 'redist' folder are required for redistribution of the advanced decoder:

After the files have been copied to the installation folder of the target PC, the BarcodeDecoderAdvanced.dll COM component has to be registered in the system either by using RegSvr32.exe from the "Windows\System32" folder or by your installer software (COM registration).

If you would like to redistribute the MontiVision standard property pages like "Region Of Interest", "Histogram" etc., then you have to include the files PropPages.ax and MVGenParamConfig from the MontiVision Development Kit 'redist' folder. PropPages.ax also has to be registered in the system as described above.

Please have an additional look at the MontiVision Development Kit documentation: Redistribution, Dependency Table

Attention: In addition to the files above, the advanced decoder requires a USB dongle to be installed. Please contact sales@montivision.com for details.

 

Sample Applications

Sample applications are provided for Visual Basic 6, Visual Basic.NET, Visual C# and Visual C++ 6/.NET.

Visual C++

BarcodeSample - Please refer to the "Samples\VC\BarcodeSample" in the installation directory of the MontiVision Development Kit.

Visual C#

BarcodeSample - Please refer to the "Samples\C#\BarcodeSample" in the installation directory of the MontiVision Development Kit.

Visual Basic 6

BarcodeSample - Please refer to the "Samples\VB6\BarcodeSample" in the installation directory of the MontiVision Development Kit.

Visual Basic .NET

BarcodeSample - Please refer to the "Samples\VB.NET\BarcodeSample" in the installation directory of the MontiVision Development Kit.

 

Barcode Recognition Examples

Multiple Data Matrix Codes of different sizes.
Rough environment - curved metal surface.
Dot Peen Code.
Small low quality code.

 

MontiVision® is a registered trademark of Engineering Firm Cymontkowski.
*Other brands and names are the property of their respective owners.

 

Copyright 2003-2008, MontiVision® Imaging Technologies, Engineering Firm Cymontkowski, All Rights Reserved.