File size: 1,680 Bytes
2641649
 
 
 
 
 
 
5fd2c03
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('lcNO3nb0s', 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)';
    }
}