What is the pixel-level explanation of the fade effect, that was first popularized by Instagram? I want to implement this effect programmaticallythat is, I want to understand what this effect is doing to each pixel.Also, if anyone could point me to resources from which I can learn more about how image filters are implemented, that would be great.
Instagram's fade effect
image processing
The effect in the photo is very close to a simple scale-bias per pixel. After a bit of tweaking, I found that applying the transformation: $x' = 0.77x + 38$ to the raw pixel values (as bytes) gives something quite close to your output:In this case the effect of the scale-bias is to reduce the contrast (scale factor < 1) while keeping the overall brightness about the same.Example Python code (with numpy and pillow) to do this transformation:import numpy as npfrom PIL import Imagea = np.array(Image.open(input.png), dtype=np.float32)b = a * 0.77 + 38Image.fromarray(np.uint8(np.rint(b))).save(output.png)For learning how to implement many basic image processing operations, I've found these Image Processing Operator Worksheets from the University of Edinburgh helpful.