1 888 509 8455 | clientservice@integrys.com

Discount Products: Look through products available for a 25% – 50% discount in 2020. The items provided on a first come, first serve basis.
View Discounted Products

Matrox Imaging Library (MIL)

Matrox Imaging Library (MIL)

Matrox Imaging Library (MIL)1 is a comprehensive collection of software tools for developing machine vision, image analysis and medical imaging applications. MIL includes tools for every step in the process: from application feasibility, to prototyping, through to development and ultimately deployment.

The toolkit features interactive software and programming functions for image capture, processing, analysis, annotation, display and archiving. These tools are designed to enhance productivity, thereby reducing the time and effort required to bring your solution to market.


SKU: Matrox Imaging Library Categories: ,


Industrial imaging tools

Matrox Imaging Library (MIL)1 is a comprehensive collection of software tools for developing machine vision, image analysis and medical imaging applications. MIL includes tools for every step in the process: from application feasibility, to prototyping, through to development and ultimately deployment.

The toolkit features interactive software and programming functions for image capture, processing, analysis, annotation, display and archiving. These tools are designed to enhance productivity, thereby reducing the time and effort required to bring your solution to market.

Image capture, processing and analysis operations have the accuracy and robustness needed to tackle the most demanding applications. These operations are also carefully optimized for speed to address the severe time constraints encountered in many applications.


Solve applications rather than develop underlying tools by leveraging a toolkit with a 20-year history of reliable performance


Tackle applications with utmost confidence using field-proven tools for analyzing, locating, measuring, reading and verifying


Harness the full power of today’s hardware through optimizations exploiting SIMD, multi-core CPU, multi-CPU, GPU2 and FPGA technologies


Easily support platforms ranging from smart cameras to HPC clusters via a single consistent and intuitive API


Obtain live images from the interface of choice through support for analog, Camera Link®, Camera Link HS, CoaXpress®, DVI-D, GigE Vision®, IEEE 1394 IIDC, SDI, and USB3 Vision™ 2,3 transmission formats


Maintain flexibility and choice by way of 32-bit Windows® XP, 32/64-bit Windows 7 and 8.1, 32/64-bit Linux®, and RTX643 (RTOS) support


Make the best use of available programming know-how with support for C, C++, C#, CPyhton3 and Visual Basic® languages


Increase productivity further and reduce development costs by receiving training and assistance from our team of imaging experts


About MIL development

First released in 1993, MIL has evolved to keep pace with and foresee new industry requirements. It was conceived with an easy-to-use coherent application programming interface (API) that has stood the test of time. MIL pioneered the concept of hardware independence with the same API for different image acquisition and processing platforms. A team of highly-skilled and dedicated computer scientists, mathematicians, software engineers and physicists continue to maintain and enhance MIL.

MIL is developed using industry recognized best practices including peer review, user involvement and daily builds. Users are asked to evaluate and report on new tools and enhancements, which strengthens and validates releases. Ongoing MIL development is integrated and tested as a whole on a daily basis.


In addition to the thorough manual testing performed prior to each release, MIL continuously undergoes automated testing during the course of its development. The automated validation suite, consisting of both systematic and random tests, verifies the accuracy, precision, robustness, and speed of image processing and analysis operations. Results, where applicable, are compared against those of previous releases to ensure that performance remains consistent. The automated validation suite runs continuously on hundreds of systems simultaneously, rapidly providing wide-ranging test coverage. The systematic tests are performed on a large database of images representing a broad sample of real-world applications.

Matrox Training continuous automated testing
        Manual testing performed prior to each release. Partial setup of continuous automated testing.

Field-proven tools

Central to MIL are tools for calibrating, enhancing and transforming images, locating objects, extracting and measuring features, reading character strings, and decoding and verifying identification marks. These tools are carefully developed to provide outstanding performance and reliability, and can be used within a single computer system or distributed across several computer systems.

  • Pattern recognition
  • Circle and Ellipse finding
  • Feature extraction and analysis
  • 1D and 2D measurements
  • Color analysis
  • Character recognition
  • 1D and 2D code reading and verification
  • Registration
  • 2D calibration
  • Image processing primitives
  • Image compression and video encoding
  • Fully optimized for speed
  • 3D imaging tools
  • Distributed MIL


Interactive tools

MIL comes with a set of interactive tools to help assess application feasibility, create a prototype and analyze application performance. These interactive tools also further enhance the productivity of application developers.

Matrox Inspector

Bundled with MIL is Matrox Inspector, an integrated imaging environment for 32-bit Windows®. Matrox Inspector provides an easy-to-use interface with point-and-click access to MIL image capture, processing, analysis and archiving operations.

In addition to displaying images, Matrox Inspector presents processing and analysis results as tables and/or graphs, including trend and distribution, which are useful for tuning operation settings. The application also gives users the ability to benchmark operations for accuracy and repeatability. In addition to making annotations, users can draw into images to perform measurements as well as touch-up and manually segment images.

Additional processing and analysis utilities

MIL includes a collection of interactive Windows-based utilities for each key image processing and analysis tool. Intended for configuration and experimentation, each tool supports live image capture and processing as well as file I/O for individual or sequences of images. Tooltips over dialog controls provide a convenient cross-reference to actual MIL function calls.

Click to enlarge

MIL includes interactive utilities for configuration and experimentation.

Matrox Profiler

Matrox Profiler is a Windows-based utility to post-analyse the execution of a multi-threaded application for performance bottlenecks and synchronization issues. It presents the function calls made over time per application thread on a navigable timeline. Matrox Profiler allows the searching for, and selecting of, specific function calls to see their parameters and execution times. It computes statistics on execution times and presents these on a per function basis. Matrox Profiler tracks not only MIL functions but also suitably tagged user functions. Function tracing can be disabled altogether to safeguard the inner working of a deployed application.

Click to enlarge

Matrox Profiler application analysis performance tool.


Complete application development environment

In addition to image processing, analysis and archiving tools, MIL includes image capture, annotation and display functions, which form a cohesive API. The API and accompanying utilities are recognized, by the large installed base of users, as being helpful to facilitate and accelerate application development.

Portable API

The MIL C API is not only intuitive and straightforward to use but it is also portable. It allows applications to be easily moved from one supported video interface or operating system to another, which provides platform flexibility and protects the original development investment.

.NET development

Included in MIL is a low-overhead API layer for developing Windows® applications within the .NET Framework using managed Visual Basic® and Visual C#® code.

JIT compilation and scripting3

MIL supports C# and Visual Basic just-in-time (JIT) compilation and CPython scripting, facilitating experimentation and prototyping. Such code can even be executed from within a MIL-based application, providing a simpler way to tailor an already deployed application.

Simplified platform management

With MIL, a developer does not require an in-depth knowledge of the underlying platform. MIL is designed to deal with the specifics of each platform and provide simplified management (e.g., hardware detection, initialization and buffer copy). MIL gives developers direct access to certain platform resources such as the physical address of a buffer. MIL also includes debugging services (i.e., function parameter checking, tracing and error reporting), as well as configuration and diagnostic tools.

Click to enlarge

MIL configuration and diagnostic tool.

Designed for multi-tasking

MIL supports multi-processing and multi-tasking programming models: multiple MIL applications not sharing MIL data or a single MIL application with multiple threads sharing MIL data. It provides mechanisms to access shared MIL data and ensure that multiple threads using the same MIL resources do not interfere with each other. MIL also offers platform-independent thread management for enhancing application portability.

Supported data formats

MIL can manipulate data, such as monochrome images, stored in 1, 8, 16 and 32-bit integers, as well as 32-bit floating point formats. MIL can also handle color images stored in packed or planar RGB/YUV formats. Commands for efficiently converting between data types are included.

Saving and loading images

MIL supports the saving and loading of individual images or sequence of images to/from disk. Supported file formats are AVI (Audio Video Interleave), BMP (bitmap), JPG (JPEG), JP2 (JPEG2000), MP4 (MPEG-4 Part 14), native (MIM), PNG and TIF (TIFF), as well as a raw format.

Industrial and robot communication3

MIL lets applications interact directly with automation controllers using the EtherNet/IP™, MODBUS® and PROFINET industrial communication protocols. It also supports native communication with robot controllers from ABB, DENSO, EPSON, FANUC, KUKA and Stäubli.

Flexible and dependable image capture

There are many ways to transmit video to an imaging system: analog, Camera Link®, Camera Link HS, CoaXpress®, DVI-D, GigE Vision®, IEEE 1394 IIDC, SDI and USB3 Vision™ 2,3. MIL supports all these interfaces either directly through Matrox Imaging or third-party hardware. MIL works with images captured from virtually any type of color or monochrome source including standard, high-resolution, high-rate, frame-on-demand cameras, line scanners, slow scan and custom designed devices.

For greater determinism and the fastest response, MIL provides multi-buffered image capture control performed in the operating system’s kernel mode. Image capture is secured for frame rates measured in the thousands per second even when the host CPU is heavily loaded with tasks such as HMI management, networking and archiving to disk. The multi-buffered mechanism supports callback functions for simultaneous capture and processing even when the processing time occasionally exceeds the capture time.

Matrox Intellicam

MIL features the Matrox Intellicam image capture and frame grabber configuration utility. This Windows-based program lets users interactively configure Matrox image capture hardware for a variety of image sources or simply try one of the numerous ready-made interfaces available from Matrox Imaging.

Matrox Capture Assistant

MIL includes Matrox Capture Assistant, a Windows-based utility for verifying the connection to one or more GigE Vision or USB3 Vision™ 3 cameras and testing video acquisition. It can obtain GigE Vision and USB3 Vision™ 3 device information, collect and present acquisition statistics and provide access to acquisition (GenICam™) properties. The gathering and display of statistics can be performed when acquiring within or outside of Matrox Capture Assistant. Matrox Capture Assistant also allows the adjustment of GigE Vision driver settings and provides the means to troubleshoot connectivity issues.

Click to enlarge

Matrox Assistant GigE Vision® and USB Vision™ 3configuration and test tool.

Click to enlarge

Matrox Intellicam frame grabber and camera configuration tool.

Simplified image display

MIL provides transparent image display management with automatic tracking and updating of image display windows at live video rates. MIL also allows for live image display in a user-specified window. Display of multiple video streams using multiple independent windows or a single mosaic window is also supported. Moreover, MIL provides non-destructive graphics overlay, suppression of tearing artifacts and filling the display area at live video rates. All of these features are performed with little or no host CPU intervention when using appropriate graphics hardware.

MIL also supports multi-screen display configurations that are in an extended desktop mode (i.e., desktop across multiple monitors), exclusive mode (i.e., monitor not showing desktop but dedicated to MIL display) or a combination.

Click to enlarge

MIL can manage image display across multiple monitors.

Graphics, regions and fixtures

MIL provides a feature-rich graphics facility to annotate images and define regions of operation. This capability is used by the MIL analysis tools to draw settings and results onto an image. It is also available to the programmer for creating application-specific image annotations. The graphics facility supports different shapes—dot, line, polyline, polygon, arc and rectangle—and text with selectable font. It takes image calibration into account, specifically the unit, reference coordinate system and applicable transformations. The graphics scale smoothly when zooming to sub-pixel. An interactive mode is available to easily allow developers to provide user editing of graphics: add, move, resize and rotate graphic elements. Moreover, the application can hook to interactivity-related events to automatically initiate underlying actions. The graphics facility can further be used to define Regions to guide or confine subsequent MIL analysis operations. Regions can also be repositioned automatically by tying its reference coordinate system to the positional results of a MIL analysis operation.

Click to enlarge

MIL provides a graphics facility to annotate images and define regions of operation.

Application deployment

MIL offers a flexible licensing model for application deployment. Only the components required to run the application need to be licensed. License fulfillment is achieved using a pre-programmed dongle or an activation code tied to Matrox hardware (i.e., smart camera, vision system / industrial computer, frame grabber, vision processor or dongle). Some components are pre-licensed with certain Matrox hardware. Consult the individual Matrox hardware datasheets for details. The use of Distributed MIL within the same physical system does not require the additional specific license. The installation of MIL can even be hidden from the end user.

Documentation, IDE integration and examples

MIL’s online help provides developers with comprehensive and easy-to-find documentation. The online help can even be tailored to match the environment in use. The online help can be called up from within Visual Studio® to provide contextual information on the MIL API3. Also supported is Visual Studio’s intelligent code completion facility3, giving a programmer on the spot access to relevant aspects of the MIL API. An extensive set of categorized and searchable example programs allow developers to quickly get up to speed with MIL.

Click to enlarge

MIL includes comprehensive and easy-to-find documentation.


MIL-Lite is a subset of MIL. MIL-Lite features programming functions for performing image capture, annotation, display and archiving. It also includes fast operators for arithmetic, Bayer interpolation, color space conversion, de-interlacing, temporal filtering, basic geometric transformations, histogram, logic, LUT mapping and thresholding. MIL-Lite is licensed for both application development and deployment in the presence of Matrox Imaging hardware or a supplemental license tied to a dongle.

Software architecture

click to enlarge

MIL provides a comprehensive set of application programming interfaces, imaging tools and hardware support

Supported Environments

For Windows®

  • 32-bit Windows XP with SP3 / 7 with SP1 / 8.1
  • 64-bit Windows 7 with SP1 / 8.1i
  • Windows Embedded Standard 7 (with Matrox 4Sight GP and Matrox 4Sight GPm)
  • Visual Studio® 2008 with SP1 / 2010 with SP1 / 2012 with Update 4 / 2013 (unmanaged C++, C# and Basic)
  • CPython 2.7 and 3.4

For RTX64

  • RTX64 2014 with SP2 and Update 2 (and 64-bit Windows 7 with SP1)
  • Visual Studio 2013 with Update 5 / 2015 with Update 4 (unmanaged C++)

For Linux®

  • 32/64-bit Ubuntu 14.04.3 LTS
  • 64-bit Red Hat Enterprise Linux 7.1 and CentOS 7 (build 1503)
  • 64-bit SUSE Linux Enterprise 12
  • GNU Compiler Collection and Python (from particular Linux distribution)

i. Partially tested with Windows® Server 2008 R2 and 2012.

MIL for real-time Windows3

MIL is available to run natively in IntervalZero’s RTX64 real-time operating system platform for Windows. RTX64 runs on its own dedicated CPU core(s) alongside Windows to provide a more tightly bound deterministic environment. Under this architecture, a developer partitions a MIL-based application to run on RTX64 and Windows. Response-critical parts are performed in RTX64. These include image capture, processing and analysis, and more significantly, output activation and real-time communication. Less response-critical aspects such as image display and file I/O continue to be conducted in Windows.

Development for RTX64 is done in C/C++ using Visual Studio and a subset of the Windows API. MIL for RTX64 supports image capture using GigE Vision® and supported Matrox frame grabbers. Distributed MIL’s shared memory protocol is available to efficiently handle communication and data exchange, including images, between a MIL process running on RTX64 and one running on Windows. The required MIL licenses are shared between Windows and RTX64.

Download Data Sheet
Delivery and Returns Content description.
Get in touch with us to inquire about our tailored consulting services.