[cairo] Adding Noise To A Picture

Lawrence D'Oliveiro ldo at geek-central.gen.nz
Fri Mar 27 15:27:31 PDT 2015

It’s easy enough to generate a bunch of random pixel values, to make an
image of pure noise. Adding noice to an existing image is another
matter. Ideally what you want is exclusive-or operation between the
bits of the noise pixels and the image pixels.

After experimenting with various Cairo operators, the best effect I
could find was with OPERATOR_DIFFERENCE. I use paint_with_alpha to
apply the noise pattern as a mask, and the alpha becomes the noise
strength: crank this up to 1, and much (thought not all) of the
original image detail disappears.

The script is here
and you can see the output here

Try modifying the script if you have some other ideas.

More information about the cairo mailing list