Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

239
Views
activate one thing deactivate the other if i say a certain word

I have a code that activates an image and leaves it activated but i want to change to other images if the parameters are met. i want to activate one thing and deactivate the other if i say a certain word

My code: https://editor.p5js.org/perikleousd910/sketches/OI1glzfWS

let video;
let poseNet;
let pose;
let classifier;
let label = "listening";
let soundModelURL = "https://teachablemachine.withgoogle.com/models/xe3C8s4Co/model.json";
var flag = false;
var flag2 = false;
var flag3 = false;
let div = createDiv("div");

//var song = new Audio('sound/Itachi.mp3');

function preload() {
  img1 = loadImage("pics/Sharingan_Triple.png");
  img2 = loadImage("pics/Untitled-5.jpg");
  img3 = loadImage("pics/orochimaruright.png");
  img4 = loadImage("pics/orochimaruleft.png");
  //song = loadSound('sound/Itachi.mp3');
  classifier = ml5.soundClassifier(soundModelURL);
}

function setup() {
  createCanvas(640, 480);
  video = createCapture(VIDEO);
  video.hide();
  poseNet = ml5.poseNet(video, modelLoaded);
  poseNet.on("pose", gotPoses);
  classifier.classify(gotResult);
}

function gotPoses(poses) {
  if (poses.length > 0) {
    pose = poses[0].pose;
  }
}

function modelLoaded() {
  console.log("poseNet ready");
}

function draw() {
  image(video, 0, 0);

  if (flag === true || (pose && label == "HowMuchCanYouSee")) {
    flag = true;

    let eyeR = pose.rightEye;
    let eyeL = pose.leftEye;
    let d = dist(eyeR.x, eyeR.y, eyeL.x, eyeL.y);

    //sharingan complete
    image(img1, pose.leftEye.x - d / 2, pose.leftEye.y - d / 2, d, d);
    image(img1, pose.rightEye.x - d / 2, pose.rightEye.y - d / 2, d, d);
  } else if (flag2 === true || (pose && label == "Orochimaru")) {
    flag2 = true;

    let eyeR = pose.rightEye;
    let eyeL = pose.leftEye;
    let d = dist(eyeR.x, eyeR.y, eyeL.x, eyeL.y);

    image(img4, pose.leftEye.x - d / 1.53, pose.leftEye.y - d / 1.5, (d * 3) / 2, (d * 3) / 2);
    image(img3, pose.rightEye.x - d / 1.2, pose.rightEye.y - d / 1.5, (d * 3) / 2, (d * 3) / 2);
  }

  fill(255, 0, 0);
  textSize(24);
  textAlign(CENTER, CENTER);
  text(label, 118, 15);
}

function gotResult(error, results) {
  if (error) {
    console.error(error);
    return;
  }
  label = results[0].label;
}
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

If I understand you correctly, you might want something like this; the global variable shownImageSet is "held" to the last value if there is no pose and label.

There is no need for flag/flag2 variables.

// ... initialization code elided ...
let shownImageSet = 0;

function drawImages() {
  // Select image set based on pose + label
  if (pose) {
    if (label == "HowMuchCanYouSee") {
      shownImageSet = 1;
    }
    if (label == "Orochimaru") {
      shownImageSet = 2;
    }
  }

  if (shownImageSet) {
    // Need to show something?
    const eyeR = pose.rightEye;
    const eyeL = pose.leftEye;
    const d = dist(eyeR.x, eyeR.y, eyeL.x, eyeL.y);
    if (shownImageSet == 1) {
      image(img1, eyeL.x - d / 2, eyeL.y - d / 2, d, d);
      image(img1, eyeR.x - d / 2, eyeR.y - d / 2, d, d);
    } else if (shownImageSet == 2) {
      image(img4, eyeL.x - d / 1.53, eyeL.y - d / 1.5, (d * 3) / 2, (d * 3) / 2);
      image(img3, eyeR.x - d / 1.2, eyeR.y - d / 1.5, (d * 3) / 2, (d * 3) / 2);
    }
  }
}

function draw() {
  image(video, 0, 0);
  drawImages();
  fill(255, 0, 0);
  textSize(24);
  textAlign(CENTER, CENTER);
  text(label, 118, 15);
}
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!