Skip to content

tdenovan/ropencv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

113 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruby Bindings for OpenCV

ROpenCV is a ffi ruby binding for the Open Source Computer Vision Library OpenCV.

Unlike other OpenCV ruby binding projects like ruby-opencv or opencv-ffi this binding is automatically generated by parsing the OpenCV C++ headers having the following advantages:

  • automatically up-to-date
  • full API coverage
  • closely match the original C++ interface

State:

  • All marked methods in the OpenCV C++ header are wrapped
  • Memory management needs review
  • Currently, no support for multi threading or GPU

License

ROpenCV is released under a BSD license, it is free for both academic and commercial use.

Compatibility Notes

ROpenCV should run on any platform which supports Ruby and OpenCV 2.4.4 or higher. It has been successfully tested on the following platforms.

  • Linux with Ruby 1.9.3 and OpenCV 2.4.4 - 2.4.6
  • Mac OSX with Ruby 1.9.3 and OpenCV 2.4.4 - 2.4.6

Installation

After running the following commands, ROpenCV and all the mandatory dependencies should be installed:

Ubuntu / Debian

Usage

require 'ropencv'
include OpenCV
m = cv::Mat.new(3,3,cv::CV_64FC1)

Example

require 'ropencv'
include OpenCV

mat = cv::imread("logo.png")
detector = cv::FeatureDetector::create("SURF")
keypoints = Std::Vector.new(cv::KeyPoint)
detector.detect(mat,keypoints)

puts "found #{keypoints.size} keypoints"
puts "first keypoint is at #{keypoints[0].pt.x}/#{keypoints[0].pt.y}"

cv::draw_keypoints(mat,keypoints,mat)
cv::imshow("key_points",mat)
cv::wait_key(-1)

About

ffi ruby wrapper for opencv

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%