HornetsEye

From MMVLWiki
(Difference between revisions)
Jump to: navigation, search
m
m
 
(50 intermediate revisions by one user not shown)
Line 1: Line 1:
 
{|align="right"
 
{|align="right"
 
|-
 
|-
|colspan="2" align="center" | [[Image:Hornetseyerf.png|thumb|240px|Hornetseye on [http://rubyforge.org/projects/hornetseye/ RubyForge]]]
+
|[[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: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: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: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]]]
+
|-
+
|colspan="2" align="center" | [[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]]]
+
|-
+
|colspan="2" align="center" | [[Image:Rubywebcam.jpg|thumb|240px|Screenshot of Linux webcam application written in Ruby]]
+
|-
+
|<html>
+
  <div class="thumb tright">
+
    <div style="width:240px;">
+
      <embed style="width:240px; height:180px;" id="VideoPlayback" type="application/x-shockwave-flash"
+
        src="http://vision.eng.shu.ac.uk/jan/flv/flvplayer.swf" width="240" height="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"/>
+
      <div class="thumbcaption">Object recognition by using colour segmentation. Of course the algorithm has its limitations but it is very easy to implement (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>
+
</html>
+
|-
+
|colspan="2" align="center" | [[Image:Hornetseye.png|240px]]
+
 
|-
 
|-
 
|}
 
|}
 
=Introduction=
 
=Introduction=
 
'''[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.
 
'''[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.
 
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 [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].
 
 
==Webcam==
 
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).
 
 
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]] Check the [http://www.wedesoft.demon.co.uk/hornetseye-api/files/Installation-txt.html 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:
 
# [[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 with [http://trolltech.com/products/qt/ Qt4].
 
# [[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:Mplayerlogo.png|38px]] '''MPlayer''': [http://www.mplayerhq.hu/ MPlayer] is a player which can be used to read video files under GNU/Linux as well as Microsoft Windows.
 
# [[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=
* [[Image:Mimasanim.gif|40px]] [[Mimas]]
+
* [[Interactive Presentation Software]]
* [[Computer Vision Software]]
+
* [[Just-in-time compiler]]
 +
* [[Lucas-Kanade tracker]]
 
* [[Hypercomplex Wavelets]]
 
* [[Hypercomplex Wavelets]]
* [[Lucas-Kanade tracker]]
 
 
* [[Qt4-QtRuby installer for Microsoft Windows]]
 
* [[Qt4-QtRuby installer for Microsoft Windows]]
* [[Image:New.gif]] [[Interactive Presentation Software]]
+
* [[TEM vision software]]
 +
* [[Image:Mimasanim.gif|40px]] [[Mimas]]
  
 
=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]
+
 
* [http://vision.eng.shu.ac.uk/jan/mrcrubytem08.pdf Machine vision and device integration with the Ruby Programming Language] (MRC seminar)
+
{{AddThis}}
* [[Image:New.gif]] J. Wedekind, B. P. Amavasai, K. Dutton, M. Boissenin: [http://digitalcommons.shu.ac.uk/mmvl_papers/2/ A Machine Vision Extension for the Ruby Programming Language] (also see [http://vision.eng.shu.ac.uk/jan/icia08-foils.pdf foils (PDF)])
+
* [[Image:New.gif]] [http://en.oreilly.com/oscon2008/public/schedule/detail/2471 Computer Vision with Ruby] presented at OSCON 2008 (also see [http://vision.eng.shu.ac.uk/jan/oscon08-foils.pdf foils (PDF)])
+
  
 
[[Category:Projects]]
 
[[Category:Projects]]
 
[[Category:Nanorobotics]]
 
[[Category:Nanorobotics]]

Latest revision as of 20:49, 31 July 2011

Poster for the 2008 AVA meeting in Bristol
Conference presentation Real-time Computer Vision With Ruby presented at OSCON 2008

[edit] 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.

[edit] See Also

[edit] External Links

Bookmark and Share

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox