Overview
A simple application for image acquisition and visualization can be written in less than 15 lines of C++ code.
During the design and development process, the following main goals took center stage:
Announcement¶
ICL has been moved to Github. The public repository can be found at https://github.com/iclcv/icl
Optimal Performance
ICL can optionally be linked against the Intel IPP-Library in order to enhance it's processing speed significantly. Most functions are implemented as Intel IPP wrappers internally but we also provide fallback implementations for data-types that are not supported by Intel IPP or for the case where Intel IPP is not available. ICL images can be used as shallow wrappers around existing data structures and their raw-data can be accessed directly. By this means, image processing applications can be implemented without any overhead for data-conversion or copying.
Simple and Easy-to-Use C++ Interface
Object-orientated programming (OOP) in C++ provides both high performance due to processor-close programming, as well as a high abstraction level, due to the inherent features of object orientation. In particular, inheritance, data/function encapsulation, as well as function- and class-templating are used for ICL's implementation.
No Compulsory Software Dependencies
All external software dependencies are purely optional. Therefore, ICL's image structures and a large set of its functions and classes can be used without installing any 3rd-party libraries. By this means, you can develop your image processing algorithms with a slim version of ICL and link your code against a full featured ICL afterwards, i.e., when you need to use a certain camera type.
Platform Independence
ICL is written in C++ without using compiler dependent statements like #pragma. Furthermore, we use the GNU-Autotools for it's building, which allows us to compile ICL on linux/unix based systems directly. ICL has already been compiled successfully under Linux and MacOS-X and we plan to provide a Windows build as well.
Wide Range of Functions and GUI Integration
In contrast to the OpenCV library, we did not only concentrate on providing image-processing-related functions and tools. ICL also provides a large set of ready-to-use and well suited utility-classes and functions, e.g., for program-argument evaluation, or for object-oriented vector and matrix algebra. In particular, the ICLQt-package provides a powerful GUI-creation and image visualization and annotation framework.
SVN Repository
Currently, ICL is only available from via subversion ceck out
- Homepage: www.iclcv.org
Members
Manager: Alexander Neumann, André Ückermann, Christof Elbrechter, Guillaume Walck, Robert Haschke
Developer: Lukas Twardon, Matthias Esau, Matthias Schöpfer, Timo Korthals, Viktor Richter
Latest news
ICL 6.10.0 Released
The new version of ICL comes up with several for RGBD mapping a new dependency tracking system and experimental support for Debian package creation. In addition several GUI-related issues have been solved and improved.
ICL 6.7.0 Released
In the last month, many changes have been applied to different parts of ICL. The new version comes up (among others) with OpenCL support for point-cloud processing and with a powerful new 2D plotting component
ICL 6.3.2 released
After a couple of month, we'll give an overview about recent ICL advancements. In particular, ICL does not provide built-in marker detection for all common marker types.
ICL 5.18.0 released
The new version of ICL provides a huge set of bug-fixes and several minor improvements
ICL 5.17.0 release
This new version of ICL comes up with fundamental changes
in the Grabber class interface and several other fixes.