MATRIX VISION - mvVirtualDevice Technical Documentation
Using FreeImage

The mvVirtualDevice driver is capable of connecting to the FreeImage library (http://freeimage.sourceforge.net/) even though this library is not shipped as part of mvIMPACT Acquire. This allows the mvVirtualDevice driver to capture various image files like JPG or PNG from a user defined directory. For license information regarding FreeImage please refer to the Legal Notice section of the API manuals of mvIMPACT Acquire.

When the FreeImage library has been detected on the system running an instance of the mvVirtualDevice driver the property imageType of the class CameraSettingsVirtualDevice will offer more valid values such as vditTIFF when reading this properties translation dictionary.

The driver has been tested using version 3.16.0 of the FreeImage library but as it loads the library dynamically and extracts function pointers to the C layer of the library at runtime most other versions (most notable more recent ones) should work as well.

The mvVirtualDevice driver first tries to locate the FreeImage library using the appropriate path from this list:

  • $(MVIMPACT_ACQUIRE_DIR)/Toolkits/FreeImage3160/bin/Release/FreeImage/arm64/libfreeimage-3.16.0.so (ARM64 Linux systems)
  • $(MVIMPACT_ACQUIRE_DIR)/Toolkits/FreeImage3160/bin/Release/FreeImage/armsf/libfreeimage-3.16.0.so (ARM sf Linux systems)
  • $(MVIMPACT_ACQUIRE_DIR)/Toolkits/FreeImage3160/bin/Release/FreeImage/armhf/libfreeimage-3.16.0.so (ARM hf Linux systems)
  • $(MVIMPACT_ACQUIRE_DIR)/Toolkits/FreeImage3160/bin/Release/FreeImage/x86/libfreeimage-3.16.0.so (x86 Linux systems)
  • $(MVIMPACT_ACQUIRE_DIR)/Toolkits/FreeImage3160/bin/Release/FreeImage/x86_64/libfreeimage-3.16.0.so (x86_64 Linux systems)
  • $(MVIMPACT_ACQUIRE_DIR)/Toolkits/FreeImage3160/bin/Release/FreeImage/Win32/FreeImage.dll (32-bit Windows systems)
  • $(MVIMPACT_ACQUIRE_DIR)/Toolkits/FreeImage3160/bin/Release/FreeImage/x64/FreeImage.dll (64-bit Windows systems)

If that fails the library will be searched for within the systems search path.

Note
Please note that on Linux systems when using the systems search path mvVirtualDevice will look for a file called libfreeimage.so.3 then allowing to use various versions of the FreeImage library.

System requirements

Every system supported by mvIMPACT Acquires mvVirtualDevice driver that is also supported by the FreeImage project.

Installing FreeImage

Depending on your operating system the usual mechanisms apply. In most cases a simple 'copy to target system' approach will be sufficient.