Objectron not working solved

This commit is contained in:
mayuk 2022-06-15 22:18:19 +05:30
parent 4a20e9909d
commit b64cdd70c5

View File

@ -400,46 +400,46 @@ Supported configuration options:
```javascript ```javascript
<script type="module"> <script type="module">
const videoElement = document.getElementsByClassName('input_video')[0]; const videoElement = document.getElementsByClassName('input_video')[0];
const canvasElement = document.getElementsByClassName('output_canvas')[0]; const canvasElement = document.getElementsByClassName('output_canvas')[0];
const canvasCtx = canvasElement.getContext('2d'); const canvasCtx = canvasElement.getContext('2d');
function onResults(results) { function onResults(results) {
canvasCtx.save(); canvasCtx.save();
canvasCtx.drawImage( canvasCtx.drawImage(
results.image, 0, 0, canvasElement.width, canvasElement.height); results.image, 0, 0, canvasElement.width, canvasElement.height);
if (!!results.objectDetections) { if (!!results.objectDetections) {
for (const detectedObject of results.objectDetections) { for (const detectedObject of results.objectDetections) {
// Reformat keypoint information as landmarks, for easy drawing. // Reformat keypoint information as landmarks, for easy drawing.
const landmarks: mpObjectron.Point2D[] = const landmarks =
detectedObject.keypoints.map(x => x.point2d); detectedObject.keypoints.map(x => x.point2d);
// Draw bounding box. // Draw bounding box.
drawingUtils.drawConnectors(canvasCtx, landmarks, drawConnectors(canvasCtx, landmarks,
mpObjectron.BOX_CONNECTIONS, {color: '#FF0000'}); BOX_CONNECTIONS, {color: '#FF0000'});
// Draw centroid. // Draw centroid.
drawingUtils.drawLandmarks(canvasCtx, [landmarks[0]], {color: '#FFFFFF'}); drawLandmarks(canvasCtx, [landmarks[0]], {color: '#FFFFFF'});
}
}
canvasCtx.restore();
} }
}
canvasCtx.restore(); const objectron = new Objectron({locateFile: (file) => {
} return `https://cdn.jsdelivr.net/npm/@mediapipe/objectron/${file}`;
}});
const objectron = new Objectron({locateFile: (file) => { objectron.setOptions({
return `https://cdn.jsdelivr.net/npm/@mediapipe/objectron/${file}`; modelName: 'Shoe',
}}); maxNumObjects: 3,
objectron.setOptions({ });
modelName: 'Chair', objectron.onResults(onResults);
maxNumObjects: 3,
}); const camera = new Camera(videoElement, {
objectron.onResults(onResults); onFrame: async () => {
await objectron.send({image: videoElement});
const camera = new Camera(videoElement, { },
onFrame: async () => { width: 1280,
await objectron.send({image: videoElement}); height: 720
}, });
width: 1280, camera.start();
height: 720
});
camera.start();
</script> </script>
``` ```