Mimas

From MMVLWiki
Revision as of 10:37, 14 July 2006 by Engjw (Talk | contribs)
Jump to: navigation, search
Mimas.jpg

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

Cogwheel.jpg

Mimasanim.gif Download Mimas-2.0 New.gif ("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

Coffee.png

The demonstrations are not part of the mimas-download!

Functionality


Software Engineering

Thunderstroke2.jpg

Mimas is using state-of-the-art software engineering. A variety of open-source tools and libraries is being used to develop Mimas:

  1. Tux.jpg GNU/Linux: Mimas is being developed for the Linux operating system. Mimas may run on other Posix4/UNIX systems as well.
  2. Qt logo.png Qt: The Qt-library developed by Trolltech is used for implementing graphical user interfaces. You can develop full-featured GUI-software which runs under Tux.jpg GNU/Linux, Ms-windows logo.png Microsoft Windows, and Macos.gif MacOS!
  3. Gears.png 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.
  4. Stl logo.gif STL: The software is making extensive use of the abstract data types provided by the Standard Template Library
  5. Lapack logo.gif Lapack: Mimas offers wrappers for accessing some functions of Lapack.
  6. C--boost logo.gif 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.
  7. Magick logo.png Magick++: Mimas uses Magick++ to load and save images.
  8. Apache logo.gif 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.
  9. Doxygen logo.png doxygen and Dot logo.png graphviz: The doxygen documentation system extracts inline-documentation from the C++ source code.
  10. Fftw logo.gif FFTW. The fftw-library is maybe the fastest library for performing discrete Fourier transforms.
  11. Popt logo.png popt: The popt-library was used to implement command-line interfaces.
  12. Xine logo.png xine: Mimas (version 2.0 and later) can access videos using libxine.
  13. Gnuplot logo.gif Gnuplot: Gnuplot is used for plotting functions.
  14. Cvs logo.gif cvs and Gnu-arch logo.png gnu-arch: Earlier cvs was used for version control. Now gnu-arch is being used.
  15. Gcc logo.png Gcc: gcc is the C++ compiler of the GNU project.
  16. Gstreamer logo.png gstreamer: Mimas has a plugin for interfacing with gstreamer.
  17. Gnu-head.jpg 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

Mimaslogo.png
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox