ojos
Version:
High level API on top of Mirada (opencv.js) supporting bth browser and node.
57 lines • 2.5 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
Object.defineProperty(exports, "__esModule", { value: true });
var mirada_1 = require("mirada");
var abstractOperation_1 = require("./abstractOperation");
/**
* Will replace pixels within given boundaries with given color or image's pixels
*/
var ReplaceColor = /** @class */ (function (_super) {
__extends(ReplaceColor, _super);
function ReplaceColor() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.name = "ReplaceColor";
_this.description = "Will replace pixels within given boundaries with given color or image's pixels";
return _this;
}
ReplaceColor.prototype._exec = function (o) {
o.dst = o.dst || new cv.Mat();
var low = new cv.Mat(o.src.rows, o.src.cols, o.src.type(), o.lowColor);
var high = new cv.Mat(o.src.rows, o.src.cols, o.src.type(), o.highColor);
var mask = new cv.Mat();
cv.inRange(o.src, low, high, mask);
var b = mirada_1.isMat(o.newColorOrImage) ? o.newColorOrImage : new cv.Mat(o.src.rows, o.src.cols, o.src.type(), o.newColorOrImage);
if (o.removeRest) {
var aux = new cv.Mat();
aux.copyTo(o.dst);
aux.delete();
}
else {
o.src.copyTo(o.dst);
}
b.copyTo(o.dst, mask);
mirada_1.del.apply(void 0, __spreadArrays([mask, low, high], mirada_1.isMat(o.newColorOrImage) ? [] : [b]));
};
return ReplaceColor;
}(abstractOperation_1.AbstractOperation));
exports.ReplaceColor = ReplaceColor;
//# sourceMappingURL=replaceColor.js.map
;