@openhps/video
Version:
Open Hybrid Positioning System
109 lines • 3.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ColorOrder = exports.CameraObject = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@openhps/core");
/**
* Camera source object
*/
let CameraObject = class CameraObject extends core_1.DataObject {
/**
* Get the focal length in pixels
* @returns {[number, number]} Focal length for x and y axis
*/
get focalLength() {
if (!this.cameraMatrix) {
return undefined;
}
return [this.cameraMatrix.elements[0], this.cameraMatrix.elements[4]];
}
/**
* Get the principal point in pixels
* @returns {[number, number]} Principal point for x and y axis
*/
get principalPoint() {
if (!this.cameraMatrix) {
return undefined;
}
return [this.cameraMatrix.elements[6], this.cameraMatrix.elements[7]];
}
/**
* Camera frustum aspect ratio.
* @returns {number} Aspect ratio
*/
get aspect() {
return this.width / this.height;
}
/**
* Height of image
* @returns {number} Height
*/
get rows() {
return this.height;
}
set rows(value) {
this.height = value;
}
/**
* Width of image
* @returns {number} Width
*/
get cols() {
return this.width;
}
set cols(value) {
this.width = value;
}
constructor(uid, displayName, width, height) {
var _a;
super(uid, displayName);
/**
* Camera color order
*/
this.colorOrder = ColorOrder.RGB;
this.width = width || 0;
this.height = height || 0;
this.distortionCoefficients = (_a = this.distortionCoefficients) !== null && _a !== void 0 ? _a : [0, 0, 0, 0, 0];
}
};
exports.CameraObject = CameraObject;
tslib_1.__decorate([
(0, core_1.SerializableMember)(),
tslib_1.__metadata("design:type", Number)
], CameraObject.prototype, "width", void 0);
tslib_1.__decorate([
(0, core_1.SerializableMember)(),
tslib_1.__metadata("design:type", Number)
], CameraObject.prototype, "height", void 0);
tslib_1.__decorate([
(0, core_1.SerializableArrayMember)(Number),
tslib_1.__metadata("design:type", Array)
], CameraObject.prototype, "distortionCoefficients", void 0);
tslib_1.__decorate([
(0, core_1.SerializableMember)(),
tslib_1.__metadata("design:type", core_1.Matrix3)
], CameraObject.prototype, "cameraMatrix", void 0);
tslib_1.__decorate([
(0, core_1.SerializableMember)(),
tslib_1.__metadata("design:type", Number)
], CameraObject.prototype, "fps", void 0);
tslib_1.__decorate([
(0, core_1.SerializableMember)(),
tslib_1.__metadata("design:type", Number)
], CameraObject.prototype, "colorOrder", void 0);
exports.CameraObject = CameraObject = tslib_1.__decorate([
(0, core_1.SerializableObject)(),
tslib_1.__metadata("design:paramtypes", [String, String, Number, Number])
], CameraObject);
/**
* Color order
*/
var ColorOrder;
(function (ColorOrder) {
ColorOrder[ColorOrder["RGB"] = 0] = "RGB";
ColorOrder[ColorOrder["BGR"] = 1] = "BGR";
ColorOrder[ColorOrder["GRAYSCALE"] = 2] = "GRAYSCALE";
ColorOrder[ColorOrder["RGBA"] = 3] = "RGBA";
ColorOrder[ColorOrder["BGRA"] = 4] = "BGRA";
})(ColorOrder || (exports.ColorOrder = ColorOrder = {}));
//# sourceMappingURL=CameraObject.js.map