|
|
(73 intermediate revisions by one user not shown) |
Line 1: |
Line 1: |
− | [[Image:Hornetseyerf.png|thumb|right|420px|Hornetseye on Rubyforge. [http://rubyforge.org/projects/hornetseye/ More...]]]
| |
− | =Introduction=
| |
− | [[Image:Hornetseye.png|right|120px]] '''[http://www.wedesoft.demon.co.uk/hornetseye-api/ 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 conveivable 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 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 [http://gimp.org/ 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 [http://en.wikipedia.org/wiki/Compound_eye compound eyes].
| |
− |
| |
− | =Examples=
| |
| {|align="right" | | {|align="right" |
| |- | | |- |
− | |colspan="2" align="center" | [[Image:Rubywebcam.jpg|thumb|240px|Screenshot of Linux webcam application written in Ruby]]
| + | |[[Image:AVA-Bristol-2008.jpg|thumb|240px|[http://vision.eng.shu.ac.uk/jan/ava-bristol-2008.pdf Poster] for the 2008 [http://hlsweb.dmu.ac.uk/ava/meetings/bristol2008.html AVA meeting] in Bristol]] |
| |- | | |- |
− | |[[Image:Apollo left.jpg|thumb|76px|Left part of image]]||[[Image:Apollo right.jpg|thumb|114px|Right part of image]] | + | |[[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]]] |
− | |-
| + | |
− | |colspan="2" align="center" | [[Image:Apollo result.jpg|thumb|163px|Stitched image]]
| + | |
| |- | | |- |
| |} | | |} |
− | ==Webcam== | + | =Introduction= |
− | The [http://www.wedesoft.demon.co.uk/hornetseye-api/files/webcamapp-txt.html Linux webcam application] uses [[HornetsEye]], [http://rubyforge.org/projects/rmagick/ RMagick], and [http://rubyforge.org/projects/korundum/ qt4-ruby] (there also is a [http://www.wedesoft.demon.co.uk/hornetseye-api/files/vfwcamapp-txt.html Windows webcam] already).
| + | '''[http://www.wedesoft.demon.co.uk/hornetseye-api/ 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. |
− | | + | |
− | See [http://www.wedesoft.demon.co.uk/hornetseye-api/files/inputgrey-txt.html Hornetseye homepage] for more examples.
| + | |
− | | + | |
− | ==Phase Correlation==
| + | |
− | The [http://www.wedesoft.demon.co.uk/hornetseye-api/files/phasecorrelation-txt.html phase correlation example] is an implementation of the [http://en.wikipedia.org/wiki/Phase_correlation phase correlation] for aligning images.
| + | |
− | The code depends on [[HornetsEye]], [http://rubyforge.org/projects/rmagick/ RMagick] and [http://rubyforge.org/projects/narray/ NArray-fftw3].
| + | |
− | | + | |
− | =Downloads=
| + | |
− | [[Image:Hornetseye.png|48px]] Before downloading you may want to check the [http://www.wedesoft.demon.co.uk/hornetseye-api/files/Installation-txt.html installation instructions] for information on what other software you need to install and run Hornetseye.
| + | |
− | See [http://www.wedesoft.demon.co.uk/hornetseye-api/files/Download-txt.html 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:
| + | |
− | # [[Image:Qt logo.png|30px]] '''Qt4-QtRuby''', [[Image:Kde.png|30px]] '''Korundum''': [http://rubyforge.org/projects/korundum/ QtRuby] and [http://developer.kde.org/language-bindings/ruby/ Korundum] can be used to develop graphical user interfaces and desktop applications.
| + | |
− | # [[Image:Xine logo.png|48px|]] '''Xine''': Using [http://www.xinehq.de/ Xine] one can read virtually any video file and it is even possible to read streaming videos.
| + | |
− | # [[Image:Tanaka.png|30px]] '''NArray''': Masahiro Tanaka's [http://narray.rubyforge.org/ NArray] is an implementation of n-dimensional arrays for Ruby.
| + | |
− | # [[Image:Fftw logo.gif|50px|]] '''FFTW'''. The [http://www.fftw.org/ fftw]-library can is maybe the fastest library for performing discrete Fourier transforms. It can be invoked by using Masahiro Tanaka's [http://narray.rubyforge.org/ fftw3] extension.
| + | |
− | # [[Image:RMagick.png|80px]] '''RMagick''': The [http://rmagick.rubyforge.org/ RMagick] Ruby-extension allows to use the powerful [http://www.imagemagick.org/Magick++/ Magick++] library in Ruby for loading and saving images.
| + | |
− | # [[Image:Coriander.png|30px]] '''libdc1394''': Using [http://damien.douxchamps.net/ieee1394/libdc1394/ libdc1394] one can make use of a large choice of firewire digital cameras.
| + | |
− | # [[Image:OpenEXR.jpg|30px]] '''OpenEXR''': The [http://www.openexr.org/ OpenEXR library] is used for saving and loading [http://en.wikipedia.org/wiki/High_dynamic_range_imaging high dynamic range] images.
| + | |
− | # [[Image:C--boost logo.gif|80px|]] '''Boost''': The [http://www.boost.org/ 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.
| + | |
− | # [[Image:Stl logo.gif|30px|]] '''STL''': The software makes use of the [http://www.sgi.com/tech/stl/ Standard Template Library]
| + | |
− | # [[Image:Ruby.png|30px]] [http://www.ruby-lang.org/ Ruby] programming language
| + | |
− | # [[Image:Gnu-arch logo.png|30px|]] '''gnu-arch''': [http://www.gnu.org/software/gnu-arch/ gnu-arch] is being used for version control.
| + | |
− | # [[Image:Gcc logo.png|30px|]] '''Gcc''': [http://www.gnu.org/software/gcc/ gcc] is the C++ compiler of the GNU project.
| + | |
− | # [[Image:Gnu-head.jpg|35px|]] '''autoconf''', '''automake''' and '''make''': [http://www.gnu.org/software/make/ make], [http://www.gnu.org/software/autoconf/ autoconf] and [http://www.gnu.org/software/automake/ automake] are used to configure and perform the build of the software on various distributions of the Linux operating system.
| + | |
− | # [[Image:Naturaldocs.png|80px]] '''Natural Docs''': [http://www.naturaldocs.org/ Natural Docs] is used to create the HTML documentation.
| + | |
| | | |
| =See Also= | | =See Also= |
| + | * [[Interactive Presentation Software]] |
| + | * [[Just-in-time compiler]] |
| + | * [[Lucas-Kanade tracker]] |
| + | * [[Hypercomplex Wavelets]] |
| + | * [[Qt4-QtRuby installer for Microsoft Windows]] |
| + | * [[TEM vision software]] |
| * [[Image:Mimasanim.gif|40px]] [[Mimas]] | | * [[Image:Mimasanim.gif|40px]] [[Mimas]] |
− | * [[Computer Vision Software]]
| |
− | * [[Hypercomplex Wavelets]]
| |
− | * [[Image:New.gif]] [[Lucas-Kanade tracker]]
| |
− | * [[Image:New.gif]] [[Qt4-QtRuby installer for Microsoft Windows]]
| |
| | | |
| =External Links= | | =External Links= |
− | * [[Image:Hornetseye.png|48px]] [http://www.wedesoft.demon.co.uk/hornetseye-api/ Hornetseye homepage] | + | * [[Image:Hornetseye.png|48px]] [http://www.wedesoft.demon.co.uk/hornetseye-api/ HornetsEye homepage] |
− | * [[Image:Rubyforge.png|75px]] [http://rubyforge.org/projects/hornetseye/ Hornetseye at Rubyforge] | + | * [[Image:Rubyforge.png|75px]] [http://rubyforge.org/projects/hornetseye/ HornetsEye at Rubyforge] |
− | * [[Image:Sourceforge.png|58px]] [http://sourceforge.net/projects/hornetseye/ Hornetseye at Sourceforge] | + | * [[Image:Sourceforge.png|58px]] [http://sourceforge.net/projects/hornetseye/ HornetsEye at Sourceforge] |
| * [[Image:Swig.png|48px]] [http://www.swig.org/ SWIG] (Simplified Wrapper and Interface Generator) | | * [[Image:Swig.png|48px]] [http://www.swig.org/ SWIG] (Simplified Wrapper and Interface Generator) |
− | * [http://www.csie.ntnu.edu.tw/~bbailey/Moments%20in%20IP.htm Moments in image processing]
| + | |
| + | {{AddThis}} |
| | | |
| [[Category:Projects]] | | [[Category:Projects]] |
| [[Category:Nanorobotics]] | | [[Category:Nanorobotics]] |