• DocumentCode
    678733
  • Title

    A machine vision extension to the Ruby programming language using OpenCV and FFI

  • Author

    Marburg, Aaron ; Hayes, Michael P. ; Bainbridge-Smith, Andrew

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Univ. of Canterbury, Christchurch, New Zealand
  • fYear
    2013
  • fDate
    27-29 Nov. 2013
  • Firstpage
    184
  • Lastpage
    189
  • Abstract
    This paper introduces the OpenCV-FFI software package, which exposes datatypes and functions from the OpenCV computer vision library into the Ruby programming language. OpenCV-FFI uses the foreign function interface (FFI) to produce a Ruby API which mirrors the OpenCV C API; further layers of complexity are then built on that core API. Example code and benchmarking results show the effectiveness of using OpenCV-FFI for scripting OpenCV code within Ruby, as well as demonstrating the pitfalls of incautious use of Ruby iteration. Finally, there is a discussion of the relative advantages and disadvantages of the FFI-based approach versus a bespoke extension library written in Ruby-C or the use of an automatic wrapper generation packages (e.g., SWIG).
  • Keywords
    application program interfaces; computer vision; object-oriented languages; FFI-based approach; OpenCV C API; OpenCV code; OpenCV computer vision library; OpenCV-FFI software package; Ruby API; Ruby iteration; Ruby programming language; automatic wrapper generation packages; bespoke extension library; foreign function interface; machine vision extension; Arrays; Complexity theory; Computer languages; Computer vision; Libraries; Syntactics;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Image and Vision Computing New Zealand (IVCNZ), 2013 28th International Conference of
  • Conference_Location
    Wellington
  • ISSN
    2151-2191
  • Print_ISBN
    978-1-4799-0882-0
  • Type

    conf

  • DOI
    10.1109/IVCNZ.2013.6727013
  • Filename
    6727013