node-matchengine

0.0.3 • Public • Published

node-matchengine

Node module for using the TinEye MatchEngine API.

var ME = require("matchengine")({
    username: "MATCHENGINE_USERNAME",
    password: "MATCHENGINE_PASSWORD"
});

ME.add("test.jpg", "test", function() {
    ME.similar("test/test.jpg", function(err, matches) {
        console.log("Similar images:");
        matches.forEach(function(item) {
            console.log(" - ", item.filepath);
        });
    });
});

Installation

npm install matchengine

API

add(fileName, dirName, callback)

Upload an image file to MatchEngine and put it in the specified directory. For example if you were to upload:

add("/var/data/test.jpg", "sample")

You should end up with a file with an ID of: "sample/test.jpg" in the MatchEngine index.

fileName can also be an array of files to upload.

similar(ID, callback)

Return a list of objects representing other pre-uploaded files which are similar to the specified file ID. For example:

ME.similar("sample/test.jpg", function(err, matches) {
    matches.forEach(function(match) {
        console.log(match.filepath + " " + match.score + "% match.");
    });
});

The object returned as a match would look something like this:

{
    score: '97.60',
    target_overlap_percent: '99.98',
    overlay: 'overlay/?query=sample/test1.jpg&target=sample/test2.jpg&m21=-3.87874e-05&m22=1.00005&m23=-0.0119187&m11=1.00005&m13=-0.00554278&m12=3.87874e-05',
    query_overlap_percent: '100.00',
    filepath: 'sample/test2.jpg'
}

urlSimilar(url, callback)

Given the URL of an image, return a list of similar images from the database (in the same format as the similar() method). For example:

ME.urlSimilar("http://test.com/test.jpg", function(err, matches) {
    matches.forEach(function(match) {
        console.log(match.filepath + " " + match.score + "% match.");
    });
});

The image at the specified URL is not added to the MatchEngine index.

del(ID, callback)

Given a specified MatchEngine file ID (for example "sample/test.jpg"), delete that particular image from the index. It will no longer be returned in the results.

list(callback)

Returns a list of all the file IDs available in the MatchEngine index. For example:

ME.list(function(err, ids) {
    ids.forEach(function(id) {
        console.log(id);
    });
});

Credits

Created by John Resig.

Released under an MIT license.

Package Sidebar

Install

npm i node-matchengine

Weekly Downloads

2

Version

0.0.3

License

MIT

Last publish

Collaborators

  • jeresig