Mimas
Contents |
Introduction
Mimas is a C++ real-time computer vision library for GNU/Linux. Mimas is open source, and is licensed under the GNU LGPL. It is easy to use and includes tools for edge detection, corner detection, various filters, optic flow, tracking, blob analysis, Web cam tools for real-time applications, and much more. It also includes many implementations of traditional algorithms such as the Canny edge detector, Harris and Stephens corner detector and pairwise geometric histograms (PGH). It was developed for GNU/Linux, but the parts, which only rely on ImageMagick, fftw3 or Qt, can be compiled for MS Windows.
For usage details have a look at the Doxygen online documentation of Mimas.
Downloads
Mimas-2.0
Download Mimas-2.0 ("A tremour in the force") released on Mar 15th 2006
Release Notes
- On newer systems, you have to force link with libgfortran in order to build the lapack-wrappers (see here for more)
- Mesa off-screen rendering may crash NVidia's X-servers. NVidia does not support OSMesa.
- You will experience memory leak on most X-servers, when switching between on- and off-screen using X11-pixmaps. Therefore OSMesa is the preferred method for off-screen rendering. The configure script will automatically select OSMesa, if it is supported by your X-server.
- To enable lapack, you may have to configure using env LDFLAGS="-lgfortran" ./configure. Make sure, you have blas, lapack, g77, f2c, and gcc-fortran installed.
Change log
- The mm_-prefix was removed from all classes in favour of the mimas-namespace.
- Direct transformation algorithms from different YUV formats to greyscale have been implemented.
- Various video sources (virtually any video file, DVDs, VCDs, streaming formats) are now accessible with mimas::image_xineinput, which is using libxine. See viewVideo example for more.
- Image files are now read using ImageMagick (Magick++), which allows reading and writing of animated GIFs, DICOM stacks (8 bit at the moment), FAX, Postscript, PDF, MPEG, RAS, ... See viewImage example for more.
- Mimas is configured to use OSMesa for off-screen rendering, if it is present on the system.
- The Mimas library now is independent of Qt. The examples, which are using Qt, have been ported to Qt4. This allows the Mimas library to be used with Qt3- as well as Qt4-programs.
- The function-wrappers for Fourier transform are now supporting both single and double precision.
- Lapack-wrappers extended with Cholesky factorisation and determinants.
- An example for L-systems was implemented.
Older releases
Older announcements are available here.
Demonstrations
- Microscope Vision Software
- Ascii-art using mimas and aalib.
- Camera Surveilance
- Microscope Control Software
- Sugar Pushing
- Depth from Focus
- Registration of TEM images
- Gradient Based Motion Estimation
- Locating tungsten-tip by means of cross-correlation
- Structural Invariant Feature Transform
- Graphical Programming with Mimas and Qt-Designer
- Interactive Camera-Projector System
The demonstrations are not part of the mimas-download!
Functionality
Software Engineering
Mimas is using state-of-the-art software engineering. A variety of open-source tools and libraries is being used to develop Mimas:
- GNU/Linux: Mimas is being developed for the Linux operating system. Mimas may run on other Posix4/UNIX systems as well.
- Qt: The Qt-library developed by Trolltech is used for implementing graphical user interfaces. You can develop full-featured GUI-software which runs under GNU/Linux, Microsoft Windows, and MacOS!
- Mesa: Mesa is used to utilise hardware acceleration for displaying graphical primitives and images. The OSMesa extension is used (if present) to do off-screen rendering.
- STL: The software is making extensive use of the abstract data types provided by the Standard Template Library
- Lapack: Mimas offers wrappers for accessing some functions of Lapack.
- Boost: The Boost Library offers smart pointers to do exception safe programming, multi-dimensional arrays, template meta-programming, abstract data types for linear algebra and many other programming concepts. The Boost library is going to be part of a future C++ standard.
- Magick++: Mimas uses Magick++ to load and save images.
- Xalan-C and Xerces-C: Xalan-C and Xerces-C are the XML-related C++-libraries of the Apache Software Foundation. They can be considered as the most complete implementations of the XML- (extended markup language), XSD- (XML schema description) and Xpath- (XML path) standards.
- doxygen and graphviz: The doxygen documentation system extracts inline-documentation from the C++ source code.
- FFTW. The fftw-library is maybe the fastest library for performing discrete Fourier transforms.
- popt: The popt-library was used to implement command-line interfaces.
- xine: Mimas (version 2.0 and later) can access videos using libxine.
- Gnuplot: Gnuplot is used for plotting functions.
- cvs and gnu-arch: Earlier cvs was used for version control. Now gnu-arch is being used.
- Gcc: gcc is the C++ compiler of the GNU project.
- gstreamer: Mimas has a plugin for interfacing with gstreamer.
- autoconf, automake and make: make, autoconf and automake are used to configure and perform the build of the software on various distributions of the Linux operating system.
See Also
External Links
- Sheffield Hallam University
- Mimas page on official MMVL site
- Online documentation
- Access to tla/gnu-arch repository (currently no outside-access. Apache doesn't allow .archive-version to be read)
- Yahoo newsgroup and discussion forum
- Mimas at freshmeat.net
- Mimas at sourceforge.net
- Image databases
- Download the animated Mimas-logo in 3GP-format for your mobile!
- Publicity
- Computer Vision Category at Wikipedia.org
- Computer Vision at Wikia.com