我想从网络摄像头检测红色和绿色物体。我正在使用这个Trackingjs库。我认为使用该库,它将跟踪对象的红色、绿色和蓝色值,并根据代码中内置的颜色库检测颜色。
它们的内置颜色定义如下:
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;
});
在上面的示例中,具有它们的对象blue - green >= 100
和red -green >= 60
将是purple
.
有人可以向我解释这是如何工作的。如果我想检测红色/红色和绿色/绿色,我应该如何使用相同的功能。