File size: 1,715 Bytes
2641649 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
const video = document.getElementById('video');
const canvas = document.getElementById('canvas');
const resultP = document.getElementById('result');
const captureButton = document.getElementById('capture');
let classifier;
// Load the pre-trained model from Huggingface
classifier = ml5.imageClassifier('https://huggingface.co/models/your-model-url', modelReady);
function modelReady() {
console.log('Model Loaded!');
}
// Access the camera
navigator.mediaDevices.getUserMedia({ video: true })
.then(stream => {
video.srcObject = stream;
})
.catch(err => {
console.error('Error accessing the camera: ', err);
});
captureButton.addEventListener('click', () => {
const context = canvas.getContext('2d');
context.drawImage(video, 0, 0, canvas.width, canvas.height);
classifyImage();
});
function classifyImage() {
classifier.classify(canvas, (err, results) => {
if (err) {
console.error(err);
return;
}
const jellyType = results[0].label;
const sugarLevel = getSugarLevel(jellyType);
const hazard = getHazardLevel(sugarLevel);
resultP.textContent = `Jelly Type: ${jellyType}, Sugar Level: ${sugarLevel}, Hazard: ${hazard}`;
});
}
function getSugarLevel(jellyType) {
// Dummy data for demonstration purposes
const sugarData = {
'jellyA': 10,
'jellyB': 20,
'jellyC': 30
};
return sugarData[jellyType] || 0;
}
function getHazardLevel(sugarLevel) {
if (sugarLevel > 25) {
return 'Red (High Hazard)';
} else if (sugarLevel > 15) {
return 'Yellow (Moderate Hazard)';
} else {
return 'Green (Low Hazard)';
}
}
|