¿Hay alguna forma de aplicar ruido simplex en la imagen con ffmpeg?
Implementación en JavaScript
export function addGrain(out, image, slice, scale, intensity){ let simplex = new SimplexNoise(new Alea()); let od = out.data, id = image.data, w = image.width, h = image.height, ox = slice.x, oy = slice.y, d = Math.min(slice.width, slice.height); for(var y = 0; y < h; y++) { for(var x = 0; x < w; x++) { // reduce noise in shadows and highlights, 4 = no noise in pure black and white let i = (y*w+x)*4, l = (id[i]+id[i+1]+id[i+2])/768-0.5, rx = x + ox, ry = y + oy, noise = (simplex.noise2D(rx/d*scale, ry/d*scale) + simplex.noise2D(rx/d*scale/2, ry/d*scale/2)*0.25 + simplex.noise2D(rx/d*scale/4, ry/d*scale/4))*0.5; // reduce noise in shadows and highlights, 4 = no noise in pure black and white noise *= (1-l*l*2); noise *= intensity*255; od[i] = id[i]+noise; // R od[i+1] = id[i+1]+noise; // G od[i+2] = id[i+2]+noise; // B } } } Tengo la idea de hacerlo con una ecuación genérica en cada geq de píxeles, pero necesito obtener un valor de ruido simple que se calcula a partir de los píxeles X e Y
Recursos