HornetsEye

From MMVLWiki
Revision as of 20:18, 22 June 2007 by Engjw (Talk | contribs)
Jump to: navigation, search

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 is based on a nice photo published by Olivander. A hornet is capable of navigating and detecting objects with the limited resolution of its compound eyes.

Simple Webcam Application

File:Rubywebcam.jpg
Screenshot of webcam application written in Ruby
#!/usr/bin/ruby
require 'hornetseye'
require 'Qt'
app=Qt::Application.new(ARGV)
class VideoWidget < Qt::Label
  def initialize( parent = nil )
    super
    @input = Hornetseye::V4LInput.new
    startTimer( 0 )
  end
  def timerEvent( e )
    str = @input.read.to_magick.to_blob { self.format = "PPM"; self.depth = 8 }
    pix = Qt::Pixmap.new
    pix.loadFromData( Qt::ByteArray.fromRawData( str, str.size ) )
    setPixmap( pix )
    resize( pix.width, pix.height )
    update
  end
end
win = VideoWidget.new
win.show
app.exec

The webcam application uses HornetsEye, RMagick, and qt4-ruby.

To install qt4-qtruby-1.4.7 I had to change the script ./smoke/qt/qtguess.pl.in. Otherwise on gets an error message like this:

problem with QListWidget missing parent at ../../kalyptus/kalyptusCxxToSmoke.pm line 2207.

Also qt4-qtruby-1.4.7 seems to have a memory leak in Qt::ByteArray. Thanks to Richard Dale the problem was solved and the bugfix will be included in the next release of qt4-qtruby. The modified code already is available via the KDE source repository.

See Hornetseye homepage for more examples.

Downloads

Hornetseye-0.15

Release Notes

See HornetsEye homepage for installation instructions.

Change log

  • Renamed loading and saving methods to 'save_grey8', 'load_grey8', 'save_rgb24', and 'load_rgb24'.
  • Renamed "XineInput::seek" to "XineInput::pos=" and implemented "XineInput::pos".
  • Test for 'ruby/narray' if 'narray' is not found.
  • hornetseye/ruby/hornetseye.cc: Bug! Red and blue channel where swapped in numerical array.
  • hornetseye/base/colourspace.cc: Using slightly different colourspace conversions more suitable for YUV <-> RGB (ITU-R BT.709 standard). This allows YUV to grey conversion by simply stripping of the chroma components.
  • hornetseye/ruby/hornetseye_ext.rb: Added methods for clipping grey values. Renamed method 'threshold' to 'binarise'.
  • Implemented colour conversions RGB24-to-YV12 and Grey8-to-YV12.

Hornetseye-0.14

Release Notes

See HornetsEye homepage for installation instructions.

Change log

  • Added IRB example.
  • hornetseye/ruby/hornetseye.cc: Added typechecking for arguments.
  • hornetseye/io/dc1394input.cc: More detailed error-message for DMA transfer does not work (after testing with Unibrain Fire-i camera).
  • configure.ac: Linking with glut not required at the moment.

Hornetseye-0.13

Release Notes

See HornetsEye homepage for installation instructions.

Change log

  • Porting documentation from RDoc to NaturalDocs.
  • hornetseye/io/openglimagepainter.cc: Not including GL/glext.h any more because it leads to problems on some NVidia installations.
  • Added methods to unmap and map X11-windows.
  • Bug! Dimensions of NArray were swapped. All conversion to and from Hornetseye::Image as well as the filters had to be fixed.

HornetsEye-0.12

Release Notes

See HornetsEye homepage for installation instructions.

Change log

  • Added OpenGLOutput and XVideoOutput for displaying images and videos. Added corresponding examples in directory ./samples/display.

HornetsEye-0.11

Release Notes

See HornetsEye homepage for installation instructions.

Change log

  • hornetseye/io/dc1394input.cc: Do not prefer RGB24 in mode selection.
  • hornetseye/io/v4linput.cc: Do not prefer RGB24 in mode selection, because it is very slow. Fixed bug in colourspace selection code. Improved speed by implementing background capture.
  • Now also links with versions of libdc1394 older than 1.1

HornetsEye-0.10

Release Notes

See HornetsEye homepage for installation instructions.

Change log

  • Made display method accept more element-types.
  • Normalisation also works on blank image.

Older releases

See Hornetseye page at Rubyforge for older releases.

See Also

External Links

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox