Integrating Vision Toolkit

Last updated
Integrating Vision Toolkit
Original author(s) by Pedram Azad et al., Karlsruhe Institute of Technology (KIT)
Stable release
1.3.15 / October 31, 2011 (2011-10-31)
Written in C++
Operating system Cross-platform
Type Library
License BSD (free software)
Website ivt.sourceforge.net

The Integrating Vision Toolkit (IVT) is a C++ computer vision library with an object-oriented architecture. It offers its own multi-platform GUI toolkit.

Computer vision is an interdisciplinary scientific field that deals with how computers can be made to gain high-level understanding from digital images or videos. From the perspective of engineering, it seeks to automate tasks that the human visual system can do.

Availability

The library is available as free software under a 3-clause BSD license. It is written in pure ANSI C++ and compiles using any available C++ compiler (e.g. any Visual Studio, any gcc, TI Code Composer). It is cross-platform and runs on basically any platform offering a C++ compiler, including Windows, Mac OS X and Linux. The included GUI toolkit offers implementations for Windows (Win32 API), Linux (GTK), Mac OS X (Cocoa) and Qt. The computer vision company Keyetech offers platform specific optimizations of various IVT functions with the Keytech Performance Primitives (KPP), which are automatically loaded by the IVT.

Free software software licensed to preserve user freedoms

Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price: users—individually or in cooperation with computer programmers—are free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed free insofar as they give users ultimate control over the first, thereby allowing them to control what their devices are programmed to do.

C++ General-purpose programming language

C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significantly over time, and modern C++ has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation. It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, and IBM, so it is available on many platforms.

Microsoft Windows is a group of several graphical operating system families, all of which are developed, marketed and sold by Microsoft. Each family caters to a certain sector of the computing industry. Active Microsoft Windows families include Windows NT and Windows IoT; these may encompass subfamilies, e.g. Windows Server or Windows Embedded Compact. Defunct Microsoft Windows families include Windows 9x, Windows Mobile and Windows Phone.

History

The IVT has been developed at the formerly named University of Karlsruhe (TH), now Karlsruhe Institute of Technology (KIT). The first version of the IVT was released on Sourceforge on December 22, 2005. Since 2009, the IVT is maintained in cooperation with the company Keyetech, [1] who also offers training courses for the IVT as well as commercial products and customized solutions using the IVT.

Karlsruhe Institute of Technology University in Karlsruhe

The Karlsruhe Institute of Technology (KIT) is a public research university and one of the largest research and educational institutions in Germany. KIT was created in 2009 when the University of Karlsruhe, founded in 1825 as a public research university and also known as the "Fridericiana", merged with the Karlsruhe Research Center, which had originally been established in 1956 as a national nuclear research center.

Features

IVT's features include:

Relation to OpenCV

Compared to OpenCV the IVT offers an object-oriented software architecture, is easier to read and easier to use. The implementations are as fast or even faster than those from the OpenCV. However, OpenCV offers some functionality that IVT does not offer (e.g. a face detector). Such functionality is integrated by optional OpenCV wrappers.

OpenCV computer vision library

OpenCV is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage then Itseez. The library is cross-platform and free for use under the open-source BSD license.

See also

Related Research Articles

In computing, cross-platform software is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of application software.

wxWidgets widget toolkit for creating graphical user interfaces

wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes. A wide choice of compilers and other tools to use with wxWidgets facilitates development of sophisticated applications. wxWidgets supports a comprehensive range of popular operating systems and graphical libraries, both proprietary and free, and is widely deployed in prominent organizations.

Standard Widget Toolkit graphical widget toolkit for use with the Java platform

The Standard Widget Toolkit (SWT) is a graphical widget toolkit for use with the Java platform. It was originally developed by Stephen Northover at IBM and is now maintained by the Eclipse Foundation in tandem with the Eclipse IDE. It is an alternative to the Abstract Window Toolkit (AWT) and Swing Java graphical user interface (GUI) toolkits provided by Sun Microsystems as part of the Java Platform, Standard Edition (J2SE).

Free Pascal Free compiler and IDE for Pascal and ObjectPascal

Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.

FLTK library

Fast Light Toolkit is a cross-platform widget library for graphical user interfaces (GUIs), developed by Bill Spitzak and others. Made to accommodate 3D graphics programming, it has an interface to OpenGL, but it is also suitable for general GUI programming.

The FOX toolkit is an open-source, cross-platform widget toolkit, that is, a library of basic elements for building a graphical user interface (GUI). FOX stands for Free Objects for X.

The Visual Component Framework (VCF) is an abandoned open source project for development under Microsoft Windows and Apple Macintosh that is distributed under the BSD license. It is an advanced C++ application framework that makes it easier to produce GUI-based C++ applications. The framework is C++ design and has built in support for rapid application development. The framework is designed to be portable over multiple platforms and compilers.

XVT

XVT is a software development environment for building cross-platform GUI applications in C or C++. XVT allows developers to graphically lay out an application's GUI, and provides cross-platform libraries to aid development.

A PIGUI package is a software library that a programmer uses to produce GUI code for multiple computer platforms. The package presents subroutines and/or objects which are independent of the GUIs that the programmer is targeting. For software to qualify as PIGUI it must support several GUIs under at least two different operating systems. The package does not necessarily provide any additional portability features. Native look and feel is a desirable feature, but is not essential for PIGUIs.

Gambit, also called Gambit-C, is a programming language, a variant of the language family Lisp, and its variants named Scheme. The Gambit implementation consists of a Scheme interpreter, and a compiler which compiles Scheme into the language C, which makes it cross-platform software. It conforms to the standards R4RS, R5RS, and Institute of Electrical and Electronics Engineers (IEEE), and to several Scheme Requests for Implementations (SRFIs). Gambit was released first in 1988, and Gambit-C (Gambit with a C backend) was released first in 1994. They are free and open-source software released under a GNU Lesser General Public License (LGPL) 2.1, and Apache License 2.0.

AROS Research Operating System operating system

AROS Research Operating System is a free and open-source multi media centric implementation of the AmigaOS 3.1 APIs. Designed to be portable and flexible, ports are currently available for x86-based and PowerPC-based PCs in native and hosted flavors, with other architectures in development. AROS, in a show of full circle, was also ported to the m68k-based Amiga 1200, and there's also an ARM port for the Raspberry Pi series.

MonoDevelop integrated development environment

MonoDevelop is an open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET frameworks. MonoDevelop integrates features similar to those of NetBeans and Microsoft Visual Studio, such as automatic code completion, source control, a graphical user interface (GUI) and Web designer. MonoDevelop integrates a Gtk# GUI designer called Stetic. It supports Boo, C, C++, C#, CIL, D, F#, Java, Oxygene, Vala, JavaScript, TypeScript and Visual Basic.NET.

Smallfoot is the name of both a Rapid application development toolkit and an embedded operating system designed and released by Caldera Systems/Caldera International/The SCO Group in both UnixWare and Linux formats. Created for use in embedded environments such as point of sale systems and gaming, the toolkits are used to create specifically tailored operating systems geared towards the desired use. These customized and stripped down versions of the operating systems make less of a footprint, hence the names Smallfoot embedded UNIX and Smallfoot embedded Linux respectively.

fpGUI

fpGUI, the Free Pascal GUI toolkit, is a cross-platform graphical user interface toolkit developed by Graeme Geldenhuys. fpGUI is open source and free software, licensed under a Modified LGPL license. The toolkit has been implemented using the Free Pascal compiler, meaning it is written in the Object Pascal language.

Hollywood (programming language) programming language

Hollywood is a commercially distributed programming language developed by Andreas Falkenhahn which mainly focuses on the creation of multimedia-oriented applications. Hollywood is available for AmigaOS, MorphOS, WarpOS, AROS, Windows, macOS, Linux, Android, and iOS. Hollywood has an inbuilt cross compiler that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive. An optional add-on also allows users to compile projects into APK files.

Nana is a cross-platform C++ library for creating graphical user interfaces. It uses a platform-independent API and currently supports Windows and Linux(X11) platforms.

References