eduardolundgren / tracking.js

A modern approach for Computer Vision on the web
http://trackingjs.com
Other
9.44k stars 1.45k forks source link

Cores customizadas #160

Open rodrigo-brito opened 8 years ago

rodrigo-brito commented 8 years ago

Bom dia pessoal,

Estou trabalhando em um projeto na disciplina de processamento de imagens na minha faculdade e resolvi utilizar o Tracking.js. Pela documentação, recomenda-se utilizar a declaração de novas cores da seguinte forma:

tracking.ColorTracker.registerColor('green', function(r, g, b) {
    if (r < 50 && g > 200 && b < 50) {
        return true;
    }
    return false;
});

Porém, vi que na biblioteca e nos exemplos utilizando cores personalizadas, foi utilizado um método diferente. Algo como isso:

tracking.ColorTracker.registerColor('purple', function(r, g, b) {
    var dx = r - 120;
    var dy = g - 60;
    var dz = b - 210;
    if ((b - g) >= 100 && (r - g) >= 60) {
        return true;
    }
    return dx * dx + dy * dy + dz * dz < 3500;
});

O método utilizado parece ser muito mais eficiente para reconhecer uma faixa mais ampla de cores, porém não consegui encontrar uma referência para o cálculo utilizado. Como que eu poderia definir uma nova cor, através desse método?

Parabéns pelo trabalho, ótima biblioteca.

pieterfeenstra commented 7 years ago

hello Rodrigo,

did you solve the register custom color and how it works. I also busy with custom colors and want to register them.

rodrigo-brito commented 7 years ago

Hello @pieterfeenstra, I used the interval syntax as showed in firs example. The precision isn't very good but works. I tried to use the second way, but I don't understand very well how it works.