Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async _renderMask() {
this._maskInProgress = true;
this._segmentationData = await this._bpModel.segmentPerson(this._inputVideoElement, {
internalResolution: 'low', // resized to 0.25 times of the original resolution before inference
maxDetections: 1, // max. number of person poses to detect per image
segmentationThreshold: 0.7 // represents probability that a pixel belongs to a person
});
this._maskInProgress = false;
bodyPix.drawBokehEffect(
this._outputCanvasElement,
this._inputVideoElement,
this._segmentationData,
7, // Constant for background blur, integer values between 0-20
7 // Constant for edge blur, integer values between 0-20
);
}
switch (guiState.segmentation.effect) {
case 'mask':
const ctx = canvas.getContext('2d');
const foregroundColor = {r: 255, g: 255, b: 255, a: 255};
const backgroundColor = {r: 0, g: 0, b: 0, a: 255};
const mask = bodyPix.toMask(
multiPersonSegmentation, foregroundColor, backgroundColor,
true);
bodyPix.drawMask(
canvas, state.video, mask, guiState.segmentation.opacity,
guiState.segmentation.maskBlurAmount, flipHorizontally);
drawPoses(multiPersonSegmentation, flipHorizontally, ctx);
break;
case 'bokeh':
bodyPix.drawBokehEffect(
canvas, state.video, multiPersonSegmentation,
+guiState.segmentation.backgroundBlurAmount,
guiState.segmentation.edgeBlurAmount, flipHorizontally);
break;
}
break;
case 'partmap':
const ctx = canvas.getContext('2d');
const multiPersonPartSegmentation = await estimatePartSegmentation();
const coloredPartImageData = bodyPix.toColoredPartMask(
multiPersonPartSegmentation,
partColorScales[guiState.partMap.colorScale]);
const maskBlurAmount = 0;
switch (guiState.partMap.effect) {