Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

102
Visualizações
El filtro de imagen se fortalece con cada ciclo - p5.js

He hecho mis propios filtros de imagen. Cuando se hace clic con el mouse en la imagen original (izquierda), se crea un efecto de desenfoque radial en la imagen procesada (derecha). Sin embargo, después de probarlo, descubrí que solo funciona si tengo el mouse sobre la imagen mientras se carga. Luego, si hago clic con el mouse, la imagen original se procesa y parece que el filtro se fortalece en la imagen ya procesada a la derecha, como si se aplicara otro filtro en la parte superior. Esto continúa cuanto más hago clic. ¿Alguien tiene idea de lo que he hecho mal? No estoy seguro de dónde está el problema con mi código.

 var img; function preload() { img = loadImage("https://media.makeameme.org/created/doesnt-know-why-gxsyb3.jpg"); } function setup() { createCanvas((img.width * 2), img.height); } function draw() { background(125); image(img, 0, 0); image(FinalFilter(img), img.width, 0); noLoop(); } function mousePressed() { loop(); } function FinalFilter(input) { var resultImg = createImage(input.width, input.height); resultImg = sepia(input); resultImg = radialBlurFilter(resultImg); resultImg.updatePixels(); return resultImg; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script>

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Como mencionó Sam en el comentario, está volviendo a aplicar los filtros a los mismos píxeles cada vez: de ahí el efecto acumulativo.

Simplemente puede hacer una copia de la entrada p5.Image usando get() y aplicar los filtros a eso en lugar de a la imagen original (que después de que se modifica el primer filtro):

 var matrix = [[1,1,1], [1,3,1], [1,1,1]]; var img; function preload() { img = loadImage("https://media.makeameme.org/created/doesnt-know-why-gxsyb3.jpg"); } function setup() { createCanvas((img.width * 2), img.height); } function draw() { background(125); image(img, 0, 0); image(FinalFilter(img), img.width, 0); noLoop(); } function mousePressed() { loop(); } function FinalFilter(input) { var resultImg = createImage(input.width, input.height); resultImg = sepia(input); resultImg = radialBlurFilter(resultImg); resultImg.updatePixels(); return resultImg; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.1/p5.min.js"></script>

¿La confusión podría provenir de la función FinalFilter?

Una opción, como se mencionó anteriormente, podría simplemente clonar la imagen de entrada con get() primero:

 function FinalFilter(input) { var resultImg = createImage(input.width, input.height); resultImg = sepiaFilter(input.get()); resultImg = radialBlurFilter(resultImg); // this call to `updatePixels()` is a bit redundant since sepiaFilter and radialBlurFilter both call `updatePixels()` on the reference image passed as an argument resultImg.updatePixels(); return resultImg; }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda