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:
ROpenCV is released under a BSD license, it is free for both academic and commercial use.
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.
After running the following commands, ROpenCV and all the mandatory dependencies should be installed:
require 'ropencv'
include OpenCV
m = cv::Mat.new(3,3,cv::CV_64FC1)
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)