Применение стиля переноса изображения к маске круга P5.js

#javascript #p5.js #style-transfer

Вопрос:

В настоящее время я храню свой перенос stlye во временной переменной под названием Temp, оттуда я хотел замаскировать свой перенос стиля в маске круга, чтобы он стал круглым изображением, подобным моему изображению. Однако проблема в том, что когда я пытаюсь изменить что-либо, связанное с временной переменной, я получаю эту ошибку : Не пойман (в обещании) Ошибка типа: Не удается прочитать свойство «src» неопределенного. Проблема в том, что переменная определяется, когда она не изменена, но если происходят какие-либо изменения, она становится неопределенной.

Любая помощь будет очень признательна.

 function setup() {
 
     
  canvas = createCanvas(500, 500);

  circleMask = createGraphics(128, 128);
    
  // load two style transfer models from the models folder
  style1 = ml5.styleTransfer("models/mathura", modelLoaded);
  style2 = ml5.styleTransfer("models/udnie", modelLoaded);
  style3 = ml5.styleTransfer("models/OversoulSpellModel", modelLoaded);
  style4  = ml5.styleTransfer("models/OilPainting", modelLoaded);
    
     circleMask.fill('rgba(0, 0, 0, 1)');

  circleMask.circle(64, 64, 128); //creating a circle mask

  myImage.mask(circleMask._renderer); //using . renderer apperantly fixes the issue of mask not being a function
}


function keyPressed() {
  if (key == 'a') {
   console.log("A");
   // myImage  = originalImg; // switch back to original so we can prevent recursive application
    style1.transfer(canvas, function(err, result) {
      
         tempDOMImage = createImg(result.src).hide();
        
      myImage  = tempDOMImage;
          
    });
    
  }else if (key == 'b') {
   
   // myImage  = originalImg; // switch back to original so we can prevent recursive application
    style2.transfer(canvas, function(err, result) {
       tempDOMImage = createImg(result.src).hide();
        
      myImage  = tempDOMImage;
    });}
      else if (key == 'c') {
    
   // myImage  = originalImg; // switch back to original so we can prevent recursive application
    style3.transfer(canvas, function(err, result) {
       tempDOMImage = createImg(result.src).hide();
      myImage  = tempDOMImage;
    });}
          else if (key == 'd') {
    
   // myImage  = originalImg; // switch back to original so we can prevent recursive application
    style4.transfer(canvas, function(err, result) {
       tempDOMImage = createImg(result.src).hide();
      myImage  = tempDOMImage;
    });
    
  }else {
    // we should transfer back
    myImage  = originalImg;
  }
}