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) => { const objectron = new Objectron({locateFile: (file) => {
return `https://cdn.jsdelivr.net/npm/@mediapipe/objectron/${file}`; return `https://cdn.jsdelivr.net/npm/@mediapipe/objectron/${file}`;
}}); }});
objectron.setOptions({ objectron.setOptions({
modelName: 'Chair', modelName: 'Shoe',
maxNumObjects: 3, maxNumObjects: 3,
}); });
objectron.onResults(onResults); objectron.onResults(onResults);
const camera = new Camera(videoElement, { const camera = new Camera(videoElement, {
onFrame: async () => { onFrame: async () => {
await objectron.send({image: videoElement}); await objectron.send({image: videoElement});
}, },
width: 1280, width: 1280,
height: 720 height: 720
}); });
camera.start(); camera.start();
</script> </script>
``` ```