HornetsEye
420px |
Contents |
Introduction
HornetsEye is a Ruby-extension for real-time computer vision under GNU/Linux offering interfaces to do image- and video-I/O with RMagick, Xine, IIDC/DCAM-compatible firewire digital camera (DC1394) and video for Linux (V4L).
HornetsEye also is an attempt to use the Mimas library and create a minimalistic and consistent real-time computer vision library.
- minimalistic: The library is focused on real-time computer vision. Existing libraries are being made used of.
- consistent:: A non-redundant set of data-types is used. Also the library tries to stay consistent with existing libraries.
The logo was created using GIMP and it shows a honeycomb structure as you would find on an insect's compound eye. A hornet is capable of navigating and detecting objects with the limited resolution of its compound eyes.
Examples
Webcam
The Linux webcam application uses HornetsEye, RMagick, and qt4-ruby (there also is a Windows webcam already).
See Hornetseye homepage for more examples.
Phase Correlation
The phase correlation example is an implementation of the phase correlation for aligning images. The code depends on HornetsEye, RMagick and NArray-fftw3.
Downloads
Before downloading you may want to check the installation instructions for information on what other software you need to install and run Hornetseye. See download instructions on how to obtain Hornetseye.
Software Engineering
HornetsEye brings the functionality of existing powerful free software packages into Ruby. HornetsEye also tries to make existing Ruby extension operate with each other to enable the development of novel solutions:
- QtRuby, Korundum: QtRuby and Korundum can be used to develop graphical user interfaces and desktop applications.
- Xine: Using Xine one can read virtually any video file and it is even possible to read streaming videos.
- NArray: Masahiro Tanaka's NArray is an implementation of n-dimensional arrays for Ruby.
- FFTW. The fftw-library can is maybe the fastest library for performing discrete Fourier transforms. It can be invoked by using Masahiro Tanaka's fftw3 extension.
- RMagick: The RMagick Ruby-extension allows to use the powerful Magick++ library in Ruby for loading and saving images.
- libdc1394: Using libdc1394 one can make use of a large choice of firewire digital cameras.
- OpenEXR: The OpenEXR library is used for saving and loading high dynamic range images.
- 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.
- STL: The software makes use of the Standard Template Library
- Ruby programming language
- gnu-arch: gnu-arch is being used for version control.
- Gcc: gcc is the C++ compiler of the GNU project.
- 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.
- Natural Docs: Natural Docs is used to create the HTML documentation.
See Also
External Links
- Hornetseye homepage
- Hornetseye at Rubyforge
- Hornetseye at Sourceforge
- SWIG (Simplified Wrapper and Interface Generator)
- Moments in image processing