HornetsEye
m (→Software Engineering) |
m |
||
Line 1: | Line 1: | ||
{|align="right" | {|align="right" | ||
|- | |- | ||
− | + | |[[Image:Hornetseyerf.png|thumb|240px|Hornetseye on [http://rubyforge.org/projects/hornetseye/ RubyForge]]] | |
|- | |- | ||
+ | |[[Image:Hello.png|thumb|240px|Developing algorithms with HornetsEye and [http://www.kdevelop.org/ KDevelop]]] | ||
|- | |- | ||
− | + | |[[Image:Oscon08foils.jpg|240px|thumb|Conference presentation [http://vision.eng.shu.ac.uk/jan/oscon08-foils.pdf Real-time Computer Vision With Ruby] presented at [http://en.oreilly.com/oscon2008/ OSCON 2008]]] | |
|- | |- | ||
− | + | |[[Image:ICIA08Slide.jpg|240px|thumb|Conference presentation [http://vision.eng.shu.ac.uk/jan/icia08-foils.pdf A Machine Vision Extension for the Ruby Programming Language] presented at [http://www.icia2008.org ICIA 2008]]] | |
|- | |- | ||
− | + | |[[Image:Mrcrubytem08.jpg|thumb|240px|Seminar presentation [http://vision.eng.shu.ac.uk/jan/mrcrubytem08.pdf Machine vision and device integration with the Ruby Programming Language]]] | |
|- | |- | ||
− | + | |[[Image:Rubywebcam2.jpg|thumb|240px|Screenshot of [http://www.wedesoft.demon.co.uk/hornetseye-api/files/webcamapp-txt.html Linux webcam application] written in Ruby]] | |
|- | |- | ||
|<html> | |<html> | ||
Line 19: | Line 20: | ||
flashvars="file=http://vision.eng.shu.ac.uk/jan/flv/pcarecognition.flv&image=http://vision.eng.shu.ac.uk/jan/flv/pcarecognition.jpg&displayheight=180" | flashvars="file=http://vision.eng.shu.ac.uk/jan/flv/pcarecognition.flv&image=http://vision.eng.shu.ac.uk/jan/flv/pcarecognition.jpg&displayheight=180" | ||
pluginspage="http://www.macromedia.com/go/getflashplayer"/> | pluginspage="http://www.macromedia.com/go/getflashplayer"/> | ||
− | <div class="thumbcaption"> | + | <div class="thumbcaption">A naive object recognition algorithm using colour segmentation (video also available as <a href="http://vision.eng.shu.ac.uk/jan/pcarecognition.avi">8.6 MByte DivX video</a> or on <a href="http://video.google.com/videoplay?docid=8157280827402899141">Google Video</a>)</div> |
</div> | </div> | ||
</div> | </div> |
Revision as of 21:23, 8 October 2008
|
Contents |
Introduction
HornetsEye is a Ruby-extension for developing video processing and real-time computer vision software under GNU/Linux offering interfaces to do image- and video-I/O with RMagick, Xine, firewire digital camera, and video for Linux. A new class of unprecedented solutions and a new way of working becomes conceivable when applying a dynamically typed, object-oriented language like Ruby to computer vision.
After installation you can use HornetsEye without having to compile or link anything! You can even develop computer vision algorithms on the command-line using Interactive Ruby (irb). HornetsEye offers image file-I/O, video input, access to webcams and framegrabbers, access to firewire digital cameras, edge detection, corner detection, user-defined filters. It thightly integrates with existing Ruby extensions.
HornetsEye is maybe the first free software project providing a solid platform for implementing real-time computer vision software in a scripting language. The platform potentially could be used in robotic applications, industrial automation as well as in microscopy and the life sciences.
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.
Download
Check the installation instructions on how to obtain and install 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:
- Qt4-QtRuby, Korundum: QtRuby and Korundum can be used to develop graphical user interfaces and desktop applications with Qt4.
- Xine: Using Xine one can read virtually any video file and it is even possible to read streaming videos.
- MPlayer: MPlayer is a player which can be used to read video files under GNU/Linux as well as Microsoft Windows.
- 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
- Mimas
- Computer Vision Software
- Hypercomplex Wavelets
- Lucas-Kanade tracker
- Qt4-QtRuby installer for Microsoft Windows
- Interactive Presentation Software
External Links
- Hornetseye homepage
- Hornetseye at Rubyforge
- Hornetseye at Sourceforge
- SWIG (Simplified Wrapper and Interface Generator)
- Moments in image processing
- Machine vision and device integration with the Ruby Programming Language (MRC seminar)
- J. Wedekind, B. P. Amavasai, K. Dutton, M. Boissenin: A Machine Vision Extension for the Ruby Programming Language (also see foils (PDF))
- Computer Vision with Ruby presented at OSCON 2008 (also see foils (PDF))