Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

executable file 61 lines (40 sloc) 1.546 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
Examples
Face Detection

    cv.readImage("./examples/test.jpg", function(err, im){
      im.detectObject("./examples/haarcascade_frontalface_alt.xml", {}, function(err, faces){
        for (var i=0;i<faces.length; i++){
          var x = faces[i]
          im.ellipse(x.x + x.width/2, x.y + x.height/2, x.width/2, x.height/2);
        }
        im.save('./out.jpg');

      });
    })

API Documentation
Matrix

The matrix is the most useful base datastructure in OpenCV. Things like images are just matrices of pixels.
Creation

    new Matrix(width, height)

Or you can use opencv to read in image files. Supported formats are in the OpenCV docs, but jpgs etc are supported.

    cv.readImage(filename, function(mat){
      ...
    })

    cv.readImage(buffer, function(mat){
      ...
    })

If you need to pipe data into an image, you can use an imagestream:

    var s = new cv.ImageStream()

    s.on('load', function(matrix){
      ...
    })

    fs.createReadStream('./examples/test.jpg').pipe(s);

Accessors

    var mat = new cv.Matrix.Eye(4,4); // Create identity matrix

    mat.get(0,0) // 1

    mat.row(0) // [1,0,0,0]
    mat.col(4) // [0,0,0,1]

Image Processing
Object Detection

There is a shortcut method for Viola-Jones Haar Cascade object detection. This can be used for face detection etc.

    mat.detectObject(haar_cascade_xml, opts, function(err, matches){})

WIP

This is a WIP. I've never written C++ before so the code may be interesting - if I'm doing stuff wrong please feel free to correct me.
Something went wrong with that request. Please try again.