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.
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.
| File: | BarcodeDecoderStandard.dll |
| Header: | iMVBarcodeDecoderStandard.h |
| IDL: | iMVBarcodeDecoderStandard.idl |
| CLSID: | CLSID_MVBarcodeDecoderStandard |
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.
| File: | BarcodeDecoderAdvanced.dll |
| Header: | iMVBarcodeDecoderAdvanced.h |
| IDL: | iMVBarcodeDecoderAdvanced.idl |
| CLSID: | CLSID_MVBarcodeDecoderAdvanced |
Automatic configuration to decode any size, shape and color matrix
Printed, chemically etched marks, laser and dot peen marks
Glossy, matt, flat and curved surfaces
Up to 50 reads per second
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.
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)
IMVFilterEvents (Refer to the MontiVision Development Kit Documentation)

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. |

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. |

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
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)
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
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 are provided for Visual Basic 6, Visual Basic.NET, Visual C# and Visual C++ 6/.NET.
BarcodeSample - Please refer to the "Samples\VC\BarcodeSample" in the installation directory of the MontiVision Development Kit.
BarcodeSample - Please refer to the "Samples\C#\BarcodeSample" in the installation directory of the MontiVision Development Kit.
BarcodeSample - Please refer to the "Samples\VB6\BarcodeSample" in the installation directory of the MontiVision Development Kit.
BarcodeSample - Please refer to the "Samples\VB.NET\BarcodeSample" in the installation directory of the MontiVision Development Kit.
![]() |
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.